opends/resource/config/config.ldif
@@ -477,6 +477,27 @@ ds-cfg-key-manager-provider: cn=JKS,cn=Key Manager Providers,cn=config ds-cfg-trust-manager-provider: cn=JKS,cn=Trust Manager Providers,cn=config dn: cn=HTTP Connection Handler,cn=Connection Handlers,cn=config objectClass: top objectClass: ds-cfg-connection-handler objectClass: ds-cfg-http-connection-handler cn: HTTP Connection Handler ds-cfg-java-class: org.opends.server.protocols.http.HTTPConnectionHandler ds-cfg-enabled: true ds-cfg-listen-address: 0.0.0.0 ds-cfg-listen-port: 8080 ds-cfg-accept-backlog: 128 #ds-cfg-keep-stats: true ds-cfg-use-tcp-keep-alive: true ds-cfg-use-tcp-no-delay: true ds-cfg-allow-tcp-reuse-address: true ds-cfg-max-request-size: 5 megabytes ds-cfg-buffer-size: 4096 bytes ds-cfg-max-blocked-write-time-limit: 2 minutes ds-cfg-use-ssl: false ds-cfg-ssl-client-auth-policy: optional ds-cfg-ssl-cert-nickname: server-cert dn: cn=LDIF Connection Handler,cn=Connection Handlers,cn=config objectClass: top objectClass: ds-cfg-connection-handler opends/resource/schema/02-config.ldif
@@ -3820,6 +3820,29 @@ ds-cfg-max-blocked-write-time-limit $ ds-cfg-buffer-size ) X-ORIGIN 'OpenDS Directory Server' ) objectClasses: ( 1.3.6.1.4.1.36733.2.1.2.15 NAME 'ds-cfg-http-connection-handler' SUP ds-cfg-connection-handler STRUCTURAL MUST ds-cfg-listen-port MAY ( ds-cfg-listen-address $ # ds-cfg-keep-stats $ ds-cfg-use-tcp-keep-alive $ ds-cfg-use-tcp-no-delay $ ds-cfg-allow-tcp-reuse-address $ ds-cfg-max-request-size $ # ds-cfg-num-request-handlers $ # TODO JNR TCPNIOTransport.setWorkerThreadPoolConfig() ds-cfg-use-ssl $ ds-cfg-ssl-client-auth-policy $ ds-cfg-ssl-cert-nickname $ ds-cfg-accept-backlog $ ds-cfg-key-manager-provider $ ds-cfg-trust-manager-provider $ ds-cfg-ssl-protocol $ ds-cfg-ssl-cipher-suite $ ds-cfg-max-blocked-write-time-limit $ ds-cfg-buffer-size ) X-ORIGIN 'OpenDJ Directory Server' ) objectClasses: ( 1.3.6.1.4.1.26027.1.2.14 NAME 'ds-cfg-entry-cache' SUP top opends/src/admin/defn/org/opends/server/admin/std/HTTPConnectionHandlerConfiguration.xml
New file @@ -0,0 +1,430 @@ <?xml version="1.0" encoding="utf-8"?> <!-- ! CDDL HEADER START ! ! The contents of this file are subject to the terms of the ! Common Development and Distribution License, Version 1.0 only ! (the "License"). You may not use this file except in compliance ! with the License. ! ! You can obtain a copy of the license at ! trunk/opends/resource/legal-notices/OpenDS.LICENSE ! or https://OpenDS.dev.java.net/OpenDS.LICENSE. ! See the License for the specific language governing permissions ! and limitations under the License. ! ! When distributing Covered Code, include this CDDL HEADER in each ! file and include the License file at ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, ! add the following below this CDDL HEADER, with the fields enclosed ! by brackets "[]" replaced with your own identifying information: ! Portions Copyright [yyyy] [name of copyright owner] ! ! CDDL HEADER END ! ! ! Portions copyright 2013 ForgeRock AS ! --> <adm:managed-object name="http-connection-handler" plural-name="http-connection-handlers" package="org.opends.server.admin.std" extends="connection-handler" xmlns:adm="http://www.opends.org/admin" xmlns:ldap="http://www.opends.org/admin-ldap"> <adm:synopsis> The <adm:user-friendly-name /> is used to interact with clients using HTTP. </adm:synopsis> <adm:description> It provides full support for Rest2LDAP. </adm:description> <adm:constraint> <adm:synopsis> A Key Manager Provider must be specified when this <adm:user-friendly-name /> is enabled and it is configured to use SSL. </adm:synopsis> <adm:condition> <adm:implies> <adm:contains property="enabled" value="true" /> <adm:implies> <adm:contains property="use-ssl" value="true" /> <adm:is-present property="key-manager-provider" /> </adm:implies> </adm:implies> </adm:condition> </adm:constraint> <adm:constraint> <adm:synopsis> A Trust Manager Provider must be specified when this <adm:user-friendly-name /> is enabled and it is configured to use SSL. </adm:synopsis> <adm:condition> <adm:implies> <adm:contains property="enabled" value="true" /> <adm:implies> <adm:contains property="use-ssl" value="true" /> <adm:is-present property="trust-manager-provider" /> </adm:implies> </adm:implies> </adm:condition> </adm:constraint> <adm:profile name="ldap"> <ldap:object-class> <ldap:name>ds-cfg-http-connection-handler</ldap:name> <ldap:superior>ds-cfg-connection-handler</ldap:superior> </ldap:object-class> </adm:profile> <adm:property-override name="java-class" advanced="true"> <adm:default-behavior> <adm:defined> <adm:value> org.opends.server.protocols.http.HTTPConnectionHandler </adm:value> </adm:defined> </adm:default-behavior> </adm:property-override> <adm:property-reference name="listen-port" /> <adm:property-reference name="use-ssl" /> <adm:property-reference name="ssl-cert-nickname" /> <adm:property-reference name="use-tcp-keep-alive" /> <adm:property-reference name="use-tcp-no-delay" /> <adm:property-reference name="allow-tcp-reuse-address" /> <adm:property name="key-manager-provider"> <adm:synopsis> Specifies the name of the key manager that should be used with this <adm:user-friendly-name /> . </adm:synopsis> <adm:requires-admin-action> <adm:none> <adm:synopsis> Changes to this property take effect immediately, but only for subsequent attempts to access the key manager provider for associated client connections. </adm:synopsis> </adm:none> </adm:requires-admin-action> <adm:default-behavior> <adm:undefined /> </adm:default-behavior> <adm:syntax> <adm:aggregation relation-name="key-manager-provider" parent-path="/"> <adm:constraint> <adm:synopsis> The referenced key manager provider must be enabled when the <adm:user-friendly-name /> is enabled and configured to use SSL. </adm:synopsis> <adm:target-needs-enabling-condition> <adm:and> <adm:contains property="enabled" value="true" /> <adm:contains property="use-ssl" value="true" /> </adm:and> </adm:target-needs-enabling-condition> <adm:target-is-enabled-condition> <adm:contains property="enabled" value="true" /> </adm:target-is-enabled-condition> </adm:constraint> </adm:aggregation> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-key-manager-provider</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="trust-manager-provider"> <adm:synopsis> Specifies the name of the trust manager that should be used with the <adm:user-friendly-name /> . </adm:synopsis> <adm:requires-admin-action> <adm:none> <adm:synopsis> Changes to this property take effect immediately, but only for subsequent attempts to access the trust manager provider for associated client connections. </adm:synopsis> </adm:none> </adm:requires-admin-action> <adm:default-behavior> <adm:undefined /> </adm:default-behavior> <adm:syntax> <adm:aggregation relation-name="trust-manager-provider" parent-path="/"> <adm:constraint> <adm:synopsis> The referenced trust manager provider must be enabled when the <adm:user-friendly-name /> is enabled and configured to use SSL. </adm:synopsis> <adm:target-needs-enabling-condition> <adm:and> <adm:contains property="enabled" value="true" /> <adm:contains property="use-ssl" value="true" /> </adm:and> </adm:target-needs-enabling-condition> <adm:target-is-enabled-condition> <adm:contains property="enabled" value="true" /> </adm:target-is-enabled-condition> </adm:constraint> </adm:aggregation> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-trust-manager-provider</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="listen-address" multi-valued="true"> <adm:synopsis> Specifies the address or set of addresses on which this <adm:user-friendly-name /> should listen for connections from HTTP clients. </adm:synopsis> <adm:description> Multiple addresses may be provided as separate values for this attribute. If no values are provided, then the <adm:user-friendly-name /> listens on all interfaces. </adm:description> <adm:requires-admin-action> <adm:component-restart /> </adm:requires-admin-action> <adm:default-behavior> <adm:defined> <adm:value>0.0.0.0</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:ip-address /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-listen-address</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="max-request-size" advanced="true"> <adm:synopsis> Specifies the size in bytes of the largest HTTP request message that will be allowed by this HTTP Connection handler. </adm:synopsis> <adm:description> This can help prevent denial-of-service attacks by clients that indicate they send extremely large requests to the server causing it to attempt to allocate large amounts of memory. </adm:description> <adm:default-behavior> <adm:defined> <adm:value>5 megabytes</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:size upper-limit="2147483647b"></adm:size> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-max-request-size</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="buffer-size" advanced="true"> <adm:synopsis> Specifies the size in bytes of the HTTP response message write buffer. </adm:synopsis> <adm:description> This property specifies write buffer size allocated by the server for each client connection and used to buffer HTTP response messages data when writing. </adm:description> <adm:default-behavior> <adm:defined> <adm:value>4096 bytes</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:size lower-limit="1b" upper-limit="2147483647b"></adm:size> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-buffer-size</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="ssl-client-auth-policy"> <adm:synopsis> Specifies the policy that the <adm:user-friendly-name /> should use regarding client SSL certificates. </adm:synopsis> <adm:description> This is only applicable if clients are allowed to use SSL. </adm:description> <adm:requires-admin-action> <adm:component-restart /> </adm:requires-admin-action> <adm:default-behavior> <adm:defined> <adm:value>optional</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:enumeration> <adm:value name="disabled"> <adm:synopsis> Clients are not required to provide their own certificates when performing SSL negotiation. </adm:synopsis> </adm:value> <adm:value name="optional"> <adm:synopsis> Clients are requested to provide their own certificates when performing SSL negotiation, but still accept the connection even if the client does not provide a certificate. </adm:synopsis> </adm:value> <adm:value name="required"> <adm:synopsis> Clients are required to provide their own certificates when performing SSL negotiation and are refused access if the do not provide a certificate. </adm:synopsis> </adm:value> </adm:enumeration> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-ssl-client-auth-policy</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="accept-backlog" advanced="true"> <adm:synopsis> Specifies the maximum number of pending connection attempts that are allowed to queue up in the accept backlog before the server starts rejecting new connection attempts. </adm:synopsis> <adm:description> This is primarily an issue for cases in which a large number of connections are established to the server in a very short period of time (for example, a benchmark utility that creates a large number of client threads that each have their own connection to the server) and the connection handler is unable to keep up with the rate at which the new connections are established. </adm:description> <adm:requires-admin-action> <adm:component-restart /> </adm:requires-admin-action> <adm:default-behavior> <adm:defined> <adm:value>128</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:integer lower-limit="1"> <adm:unit-synopsis>connections</adm:unit-synopsis> </adm:integer> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-accept-backlog</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="ssl-protocol" multi-valued="true"> <adm:synopsis> Specifies the names of the SSL protocols that are allowed for use in SSL communication. </adm:synopsis> <adm:requires-admin-action> <adm:none> <adm:synopsis> Changes to this property take effect immediately but only impact new SSL/TLS-based sessions created after the change. </adm:synopsis> </adm:none> </adm:requires-admin-action> <adm:default-behavior> <adm:alias> <adm:synopsis> Uses the default set of SSL protocols provided by the server's JVM. </adm:synopsis> </adm:alias> </adm:default-behavior> <adm:syntax> <adm:string /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-ssl-protocol</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="ssl-cipher-suite" multi-valued="true"> <adm:synopsis> Specifies the names of the SSL cipher suites that are allowed for use in SSL communication. </adm:synopsis> <adm:requires-admin-action> <adm:none> <adm:synopsis> Changes to this property take effect immediately but will only impact new SSL/TLS-based sessions created after the change. </adm:synopsis> </adm:none> </adm:requires-admin-action> <adm:default-behavior> <adm:alias> <adm:synopsis> Uses the default set of SSL cipher suites provided by the server's JVM. </adm:synopsis> </adm:alias> </adm:default-behavior> <adm:syntax> <adm:string /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-ssl-cipher-suite</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="max-blocked-write-time-limit" advanced="true"> <adm:synopsis> Specifies the maximum length of time that attempts to write data to HTTP clients should be allowed to block. </adm:synopsis> <adm:description> If an attempt to write data to a client takes longer than this length of time, then the client connection is terminated. </adm:description> <adm:default-behavior> <adm:defined> <adm:value>2 minutes</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:duration base-unit="ms" lower-limit="0" /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-max-blocked-write-time-limit</ldap:name> </ldap:attribute> </adm:profile> </adm:property> </adm:managed-object> opends/src/admin/defn/org/opends/server/admin/std/LDAPConnectionHandlerConfiguration.xml
@@ -24,7 +24,7 @@ ! ! ! Copyright 2007-2009 Sun Microsystems, Inc. ! Portions copyright 2011 ForgeRock AS ! Portions copyright 2011-2013 ForgeRock AS ! --> <adm:managed-object name="ldap-connection-handler" plural-name="ldap-connection-handlers" @@ -117,6 +117,9 @@ <adm:property-reference name="listen-port" /> <adm:property-reference name="use-ssl" /> <adm:property-reference name="ssl-cert-nickname" /> <adm:property-reference name="use-tcp-keep-alive" /> <adm:property-reference name="use-tcp-no-delay" /> <adm:property-reference name="allow-tcp-reuse-address" /> <adm:property name="key-manager-provider"> <adm:synopsis> Specifies the name of the key manager that should be used with @@ -297,97 +300,6 @@ </ldap:attribute> </adm:profile> </adm:property> <adm:property name="use-tcp-keep-alive" advanced="true"> <adm:synopsis> Indicates whether the <adm:user-friendly-name /> should use TCP keep-alive. </adm:synopsis> <adm:description> If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP keepalive messages should periodically be sent to the client to verify that the associated connection is still valid. This may also help prevent cases in which intermediate network hardware could silently drop an otherwise idle client connection, provided that the keepalive interval configured in the underlying operating system is smaller than the timeout enforced by the network hardware. </adm:description> <adm:default-behavior> <adm:defined> <adm:value>true</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:boolean /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-use-tcp-keep-alive</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="use-tcp-no-delay" advanced="true"> <adm:synopsis> Indicates whether the <adm:user-friendly-name /> should use TCP no-delay. </adm:synopsis> <adm:description> If enabled, the TCP_NODELAY socket option is used to ensure that response messages to the client are sent immediately rather than potentially waiting to determine whether additional response messages can be sent in the same packet. In most cases, using the TCP_NODELAY socket option provides better performance and lower response times, but disabling it may help for some cases in which the server sends a large number of entries to a client in response to a search request. </adm:description> <adm:default-behavior> <adm:defined> <adm:value>true</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:boolean /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-use-tcp-no-delay</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="allow-tcp-reuse-address" advanced="true"> <adm:synopsis> Indicates whether the <adm:user-friendly-name /> should reuse socket descriptors. </adm:synopsis> <adm:description> If enabled, the SO_REUSEADDR socket option is used on the server listen socket to potentially allow the reuse of socket descriptors for clients in a TIME_WAIT state. This may help the server avoid temporarily running out of socket descriptors in cases in which a very large number of short-lived connections have been established from the same client system. </adm:description> <adm:requires-admin-action> <adm:component-restart /> </adm:requires-admin-action> <adm:default-behavior> <adm:defined> <adm:value>true</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:boolean /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-allow-tcp-reuse-address</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="send-rejection-notice" advanced="true"> <adm:synopsis> Indicates whether the opends/src/admin/defn/org/opends/server/admin/std/Package.xml
@@ -24,7 +24,7 @@ ! ! ! Copyright 2007-2009 Sun Microsystems, Inc. ! Portions Copyright 2011 ForgeRock AS ! Portions Copyright 2011-2013 ForgeRock AS ! --> <adm:package name="org.opends.server.admin.std" xmlns:adm="http://www.opends.org/admin" @@ -484,4 +484,95 @@ </ldap:attribute> </adm:profile> </adm:property> <adm:property name="use-tcp-keep-alive" advanced="true"> <adm:synopsis> Indicates whether the <adm:user-friendly-name /> should use TCP keep-alive. </adm:synopsis> <adm:description> If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP keepalive messages should periodically be sent to the client to verify that the associated connection is still valid. This may also help prevent cases in which intermediate network hardware could silently drop an otherwise idle client connection, provided that the keepalive interval configured in the underlying operating system is smaller than the timeout enforced by the network hardware. </adm:description> <adm:default-behavior> <adm:defined> <adm:value>true</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:boolean /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-use-tcp-keep-alive</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="use-tcp-no-delay" advanced="true"> <adm:synopsis> Indicates whether the <adm:user-friendly-name /> should use TCP no-delay. </adm:synopsis> <adm:description> If enabled, the TCP_NODELAY socket option is used to ensure that response messages to the client are sent immediately rather than potentially waiting to determine whether additional response messages can be sent in the same packet. In most cases, using the TCP_NODELAY socket option provides better performance and lower response times, but disabling it may help for some cases in which the server sends a large number of entries to a client in response to a search request. </adm:description> <adm:default-behavior> <adm:defined> <adm:value>true</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:boolean /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-use-tcp-no-delay</ldap:name> </ldap:attribute> </adm:profile> </adm:property> <adm:property name="allow-tcp-reuse-address" advanced="true"> <adm:synopsis> Indicates whether the <adm:user-friendly-name /> should reuse socket descriptors. </adm:synopsis> <adm:description> If enabled, the SO_REUSEADDR socket option is used on the server listen socket to potentially allow the reuse of socket descriptors for clients in a TIME_WAIT state. This may help the server avoid temporarily running out of socket descriptors in cases in which a very large number of short-lived connections have been established from the same client system. </adm:description> <adm:requires-admin-action> <adm:component-restart /> </adm:requires-admin-action> <adm:default-behavior> <adm:defined> <adm:value>true</adm:value> </adm:defined> </adm:default-behavior> <adm:syntax> <adm:boolean /> </adm:syntax> <adm:profile name="ldap"> <ldap:attribute> <ldap:name>ds-cfg-allow-tcp-reuse-address</ldap:name> </ldap:attribute> </adm:profile> </adm:property> </adm:package> opends/src/admin/messages/HTTPConnectionHandlerCfgDefn.properties
New file @@ -0,0 +1,56 @@ user-friendly-name=HTTP Connection Handler user-friendly-plural-name=HTTP Connection Handlers synopsis=The HTTP Connection Handler is used to interact with clients using HTTP. description=It provides full support for Rest2LDAP. constraint.1.synopsis=A Key Manager Provider must be specified when this HTTP Connection Handler is enabled and it is configured to use SSL. constraint.2.synopsis=A Trust Manager Provider must be specified when this HTTP Connection Handler is enabled and it is configured to use SSL. property.accept-backlog.synopsis=Specifies the maximum number of pending connection attempts that are allowed to queue up in the accept backlog before the server starts rejecting new connection attempts. property.accept-backlog.description=This is primarily an issue for cases in which a large number of connections are established to the server in a very short period of time (for example, a benchmark utility that creates a large number of client threads that each have their own connection to the server) and the connection handler is unable to keep up with the rate at which the new connections are established. property.allowed-client.synopsis=Specifies a set of host names or address masks that determine the clients that are allowed to establish connections to this HTTP Connection Handler. property.allowed-client.description=Valid values include a host name, a fully qualified domain name, a domain name, an IP address, or a subnetwork with subnetwork mask. property.allowed-client.default-behavior.alias.synopsis=All clients with addresses that do not match an address on the deny list are allowed. If there is no deny list, then all clients are allowed. property.allowed-client.requires-admin-action.synopsis=Changes to this property take effect immediately and do not interfere with connections that may have already been established. property.allow-tcp-reuse-address.synopsis=Indicates whether the HTTP Connection Handler should reuse socket descriptors. property.allow-tcp-reuse-address.description=If enabled, the SO_REUSEADDR socket option is used on the server listen socket to potentially allow the reuse of socket descriptors for clients in a TIME_WAIT state. This may help the server avoid temporarily running out of socket descriptors in cases in which a very large number of short-lived connections have been established from the same client system. property.buffer-size.synopsis=Specifies the size in bytes of the HTTP response message write buffer. property.buffer-size.description=This property specifies write buffer size allocated by the server for each client connection and used to buffer HTTP response messages data when writing. property.denied-client.synopsis=Specifies a set of host names or address masks that determine the clients that are not allowed to establish connections to this HTTP Connection Handler. property.denied-client.description=Valid values include a host name, a fully qualified domain name, a domain name, an IP address, or a subnetwork with subnetwork mask. If both allowed and denied client masks are defined and a client connection matches one or more masks in both lists, then the connection is denied. If only a denied list is specified, then any client not matching a mask in that list is allowed. property.denied-client.default-behavior.alias.synopsis=If an allow list is specified, then only clients with addresses on the allow list are allowed. Otherwise, all clients are allowed. property.denied-client.requires-admin-action.synopsis=Changes to this property take effect immediately and do not interfere with connections that may have already been established. property.enabled.synopsis=Indicates whether the HTTP Connection Handler is enabled. property.java-class.synopsis=Specifies the fully-qualified name of the Java class that provides the HTTP Connection Handler implementation. property.key-manager-provider.synopsis=Specifies the name of the key manager that should be used with this HTTP Connection Handler . property.key-manager-provider.requires-admin-action.synopsis=Changes to this property take effect immediately, but only for subsequent attempts to access the key manager provider for associated client connections. property.key-manager-provider.syntax.aggregation.constraint-synopsis=The referenced key manager provider must be enabled when the HTTP Connection Handler is enabled and configured to use SSL. property.listen-address.synopsis=Specifies the address or set of addresses on which this HTTP Connection Handler should listen for connections from HTTP clients. property.listen-address.description=Multiple addresses may be provided as separate values for this attribute. If no values are provided, then the HTTP Connection Handler listens on all interfaces. property.listen-port.synopsis=Specifies the port number on which the HTTP Connection Handler will listen for connections from clients. property.listen-port.description=Only a single port number may be provided. property.max-blocked-write-time-limit.synopsis=Specifies the maximum length of time that attempts to write data to HTTP clients should be allowed to block. property.max-blocked-write-time-limit.description=If an attempt to write data to a client takes longer than this length of time, then the client connection is terminated. property.max-request-size.synopsis=Specifies the size in bytes of the largest HTTP request message that will be allowed by this HTTP Connection handler. property.max-request-size.description=This can help prevent denial-of-service attacks by clients that indicate they send extremely large requests to the server causing it to attempt to allocate large amounts of memory. property.ssl-cert-nickname.synopsis=Specifies the nickname (also called the alias) of the certificate that the HTTP Connection Handler should use when performing SSL communication. property.ssl-cert-nickname.description=This is only applicable when the HTTP Connection Handler is configured to use SSL. property.ssl-cert-nickname.default-behavior.alias.synopsis=Let the server decide. property.ssl-cipher-suite.synopsis=Specifies the names of the SSL cipher suites that are allowed for use in SSL communication. property.ssl-cipher-suite.default-behavior.alias.synopsis=Uses the default set of SSL cipher suites provided by the server's JVM. property.ssl-cipher-suite.requires-admin-action.synopsis=Changes to this property take effect immediately but will only impact new SSL/TLS-based sessions created after the change. property.ssl-client-auth-policy.synopsis=Specifies the policy that the HTTP Connection Handler should use regarding client SSL certificates. property.ssl-client-auth-policy.description=This is only applicable if clients are allowed to use SSL. property.ssl-client-auth-policy.syntax.enumeration.value.disabled.synopsis=Clients are not required to provide their own certificates when performing SSL negotiation. property.ssl-client-auth-policy.syntax.enumeration.value.optional.synopsis=Clients are requested to provide their own certificates when performing SSL negotiation, but still accept the connection even if the client does not provide a certificate. property.ssl-client-auth-policy.syntax.enumeration.value.required.synopsis=Clients are required to provide their own certificates when performing SSL negotiation and are refused access if the do not provide a certificate. property.ssl-protocol.synopsis=Specifies the names of the SSL protocols that are allowed for use in SSL communication. property.ssl-protocol.default-behavior.alias.synopsis=Uses the default set of SSL protocols provided by the server's JVM. property.ssl-protocol.requires-admin-action.synopsis=Changes to this property take effect immediately but only impact new SSL/TLS-based sessions created after the change. property.trust-manager-provider.synopsis=Specifies the name of the trust manager that should be used with the HTTP Connection Handler . property.trust-manager-provider.requires-admin-action.synopsis=Changes to this property take effect immediately, but only for subsequent attempts to access the trust manager provider for associated client connections. property.trust-manager-provider.syntax.aggregation.constraint-synopsis=The referenced trust manager provider must be enabled when the HTTP Connection Handler is enabled and configured to use SSL. property.use-ssl.synopsis=Indicates whether the HTTP Connection Handler should use SSL. property.use-ssl.description=If enabled, the HTTP Connection Handler will use SSL to encrypt communication with the clients. property.use-tcp-keep-alive.synopsis=Indicates whether the HTTP Connection Handler should use TCP keep-alive. property.use-tcp-keep-alive.description=If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP keepalive messages should periodically be sent to the client to verify that the associated connection is still valid. This may also help prevent cases in which intermediate network hardware could silently drop an otherwise idle client connection, provided that the keepalive interval configured in the underlying operating system is smaller than the timeout enforced by the network hardware. property.use-tcp-no-delay.synopsis=Indicates whether the HTTP Connection Handler should use TCP no-delay. property.use-tcp-no-delay.description=If enabled, the TCP_NODELAY socket option is used to ensure that response messages to the client are sent immediately rather than potentially waiting to determine whether additional response messages can be sent in the same packet. In most cases, using the TCP_NODELAY socket option provides better performance and lower response times, but disabling it may help for some cases in which the server sends a large number of entries to a client in response to a search request. opends/src/messages/messages/protocol.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -497,13 +498,13 @@ defined in configuration entry %s was unable to create any of the socket \ channels on any of the configured addresses. This connection handler will be \ disabled MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=The connection attempt from \ MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=The connection attempt from \ client %s to %s has been rejected because the client was included in one of \ the denied address ranges MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=The connection attempt from \ MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=The connection attempt from \ client %s to %s has been rejected because the client was not included in one \ of the allowed address ranges INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=An internal error \ INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=An internal error \ prevented the Directory Server from properly registering the client \ connection from %s to %s with an appropriate request handler: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=The LDAP connection \ @@ -606,7 +607,7 @@ handler thread "%s" encountered an unexpected error that would have caused \ the thread to die: %s. The error has been caught and the request handler \ should continue operating as normal MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=The attempt to register this \ MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=The attempt to register this \ connection with the Directory Server was rejected. This might indicate that \ the server already has the maximum allowed number of concurrent connections \ established, or that it is in a restricted access mode @@ -870,9 +871,9 @@ not allow clients to close a StartTLS session on a client connection while \ leaving the underlying TCP connection active. The TCP connection will be \ closed NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=Started listening for new \ NOTICE_CONNHANDLER_STARTED_LISTENING_276=Started listening for new \ connections on %s NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=Stopped listening for new \ NOTICE_CONNHANDLER_STOPPED_LISTENING_277=Stopped listening for new \ connections on %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=Cannot decode the provided ASN.1 \ element as an LDAP paged results control value because the element is null @@ -1311,10 +1312,8 @@ matching rule ID. At least one of them must be provided MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=LDAPv2 clients are not allowed to \ use request controls SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=The LDAP connection handler \ SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=The %s connection handler \ defined in configuration entry %s was unable to bind to %s:%d: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=The JMX connection handler defined \ in configuration entry %s was unable to bind to port %d: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=You do not have sufficient \ privileges to perform add operations through JMX MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=You do not have sufficient \ @@ -1431,3 +1430,8 @@ MILD_ERR_LDAP_CLIENT_IO_ERROR_DURING_READ_1513=An IO error occurred while \ reading a request from the client: %s MILD_ERR_LDAP_CLIENT_IO_ERROR_BEFORE_READ_1514=Connection reset by client INFO_HTTP_CONNHANDLER_STARTTLS_NOT_SUPPORTED_1515=The HTTP connection handler \ does not support StartTLS operations MILD_ERR_CONNHANDLER_CONFIG_CHANGES_REQUIRE_RESTART_1516=The server received \ configuration changes that require a restart of the %s connection handler \ to take effect opends/src/messages/messages/protocol_ca_ES.properties
@@ -1,2 +1,2 @@ NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=Iniciada l'escolta de noves connexions en %s NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=Aturada l'escolta de noves connexions en %s NOTICE_CONNHANDLER_STARTED_LISTENING_276=Iniciada l'escolta de noves connexions en %s NOTICE_CONNHANDLER_STOPPED_LISTENING_277=Aturada l'escolta de noves connexions en %s opends/src/messages/messages/protocol_de.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -197,9 +198,9 @@ FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=Der in Konfigurationseintrag %s definierte LDAP-Verbindungshandler konnte keinen Selektor \u00f6ffnen, damit er die zugeh\u00f6rigen Annahme-Sockets multiplexen kann: %s. Dieser Verbindungshandler wird deaktiviert SEVERE_ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=Der in Konfigurationseintrag %s definierte LDAP-Verbindungshandler konnte keinen Serversocket-Channel erstellen, um Verbindungen in %s zu akzeptieren:%d: %s. Der Directory-Server h\u00f6rt keine neuen Verbindungen auf dieser Adresse ab FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=Der in Konfigurationseintrag %s definierte LDAP-Verbindungshandler konnte keine Socket-Channels auf einer der konfigurierten Adressen erstellen. Diese Verbindung wird deaktiviert MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=Der Verbindungsversuch von Client %s zu %s wurde abgelehnt, da der Client in einem der Bereiche f\u00fcr verweigerte Adressen enthalten war MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=Der Verbindungsversuch von Client %s zu %s wurde abgelehnt, da der Client nicht in einem der Bereiche f\u00fcr zul\u00e4ssige Adressen enthalten war INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=Aufgrund eines internen Fehlers konnte Directory-Server die Clientverbindung von %s zu %s nicht mit einer geeigneten Behandlungsroutine f\u00fcr Anforderungen registrieren: %s MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=Der Verbindungsversuch von Client %s zu %s wurde abgelehnt, da der Client in einem der Bereiche f\u00fcr verweigerte Adressen enthalten war MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=Der Verbindungsversuch von Client %s zu %s wurde abgelehnt, da der Client nicht in einem der Bereiche f\u00fcr zul\u00e4ssige Adressen enthalten war INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=Aufgrund eines internen Fehlers konnte Directory-Server die Clientverbindung von %s zu %s nicht mit einer geeigneten Behandlungsroutine f\u00fcr Anforderungen registrieren: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=Die im Konfigurationseintrag %s definierte LDAP-Verbindungsbehandlungsroutine konnte eine neue Clientverbindung nicht annehmen: %s FATAL_ERR_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=Der in Konfigurationseintrag %s definierte LDAP-Verbindungshandler hat beim Versuch, die Client-Verbindungen zu akzeptieren, aufeinander folgende Fehler verursacht: %s. Dieser Verbindungshandler wird deaktiviert FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=Der in Konfigurationseintrag %s definierte LDAP-Verbindungshandler hat beim Versuch, neue Verbindungen abzuh\u00f6ren, einen unerwarteten Fehler verursacht: %s. Dieser Verbindungshandler wird deaktiviert @@ -231,7 +232,7 @@ MILD_ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=Der Client mit der Verbindungs-ID %d hat sich bei Directory-Server unter Verwendung von LDAPv2 authentifiziert, versuchte jedoch, eine Anforderung f\u00fcr einen erweiterten Vorgang (LDAP-Nachricht-ID %d) zu senden, die f\u00fcr LDAPv2-Clients nicht zul\u00e4ssig ist. Die Verbindung wird beendet MILD_ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=Es wurde ein Versuch unternommen, den LDAP-Statistik-\u00dcberwachungsanbieter, wie in Konfigurationseintrag %s festgelegt, zu initialisieren. Dieser \u00dcberwachungsanbieter sollte nur dynamisch innerhalb von Directory-Server und nicht aus der Konfiguration heraus erstellt werden SEVERE_ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=In LDAP-Anforderungshandlerthread "%s" ist ein unerwarteter Fehler aufgetreten, wodurch der Thread abgebrochen wurde: %s. Der Fehler wurde aufgefangen und der Anforderungshandler sollte den normalen Betrieb wieder aufnehmen MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=Der Versuch, diese Verbindung bei Directory-Server zu registrieren, wurde abgelehnt. Dies k\u00f6nnte bedeuten, dass der Server bereits die maximal zul\u00e4ssige Anzahl gleichzeitiger Verbindungen eingerichtet hat oder sich in einem Modus mit eingeschr\u00e4nktem Zugriff befindet MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=Der Versuch, diese Verbindung bei Directory-Server zu registrieren, wurde abgelehnt. Dies k\u00f6nnte bedeuten, dass der Server bereits die maximal zul\u00e4ssige Anzahl gleichzeitiger Verbindungen eingerichtet hat oder sich in einem Modus mit eingeschr\u00e4nktem Zugriff befindet INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS_215=Adresse oder Adressensatz, auf denen die Verbindungsbehandlungsroutine Clientverbindungen annehmen kann. Wird kein Wert angegeben, nimmt der Server Verbindungen auf allen aktiven Adressen an. \u00c4nderungen an diesem Konfigurationsattribut werden erst wirksam, wenn die Verbindungsbehandlungsroutine deaktiviert und erneut aktiviert wird, oder wenn Directory-Server neu gestartet wird INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=TCP-Port, auf dem diese Verbindungsbehandlungsroutine Clientverbindungen annehmen kann. \u00c4nderungen an diesem Konfigurationsattribut werden erst wirksam, wenn die Verbindungsbehandlungsroutine deaktiviert und erneut aktiviert wird oder wenn Directory-Server neu gestartet wird INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS_217=Gibt einen Satz Adressenmasken an, mit denen die Adressen von Clients bestimmt werden k\u00f6nnen, welche zur Einrichtung von Verbindungen zu dieser Verbindungsbehandlungsroutine berechtigt sind. Werden keine Werte angegeben, werden alle Clients mit Adressen zugelassen, die mit keiner Adresse auf der Ausschlussliste \u00fcbereinstimmen. \u00c4nderungen an diesem Konfigurationsattribut werden sofort wirksam, beeintr\u00e4chtigen aber keine Verbindungen, die bereits eingerichtet sind @@ -293,8 +294,8 @@ MILD_ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=Bei dem Versuch der Erstellung eines TLS-Verbindungssicherheitsanbieters f\u00fcr diese Client-Verbindung zur Verwendung mit StartTLS ist ein Fehler aufgetreten: %s MILD_ERR_LDAP_TLS_NO_PROVIDER_274=StartTLS\u00b7ist\u00b7f\u00fcr\u00b7diese\u00b7Clientverbindung\u00b7nicht\u00b7verf\u00fcgbar,\u00b7da\u00b7die\u00b7Verbindung\u00b7keinen\u00b7Zugriff\u00b7auf\u00b7einen TLS-Verbindungssicherheitsanbieter hat MILD_ERR_LDAP_TLS_CLOSURE_NOT_ALLOWED_275=Die LDAP-Verbindungsbehandlungsroutine berechtigt Clients nicht zum Schlie\u00dfen einer StartTLS-Sitzung f\u00fcr eine Clientverbindung, w\u00e4hrend die zugrunde liegende TCP-Verbindung aktiviert bleibt. Die TCP-Verbindung wird geschlossen NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=Abh\u00f6ren auf neue Verbindungen auf %s wurde gestartet NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=Abh\u00f6ren auf neue Verbindungen auf %s wurde gestoppt NOTICE_CONNHANDLER_STARTED_LISTENING_276=Abh\u00f6ren auf neue Verbindungen auf %s wurde gestartet NOTICE_CONNHANDLER_STOPPED_LISTENING_277=Abh\u00f6ren auf neue Verbindungen auf %s wurde gestoppt MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=Das angegebene ASN.1-Element kann nicht als Steuerungswert f\u00fcr LDAP-Paged-Results entschl\u00fcsselt werden, da das Element ein Nullelement ist MILD_ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=Das angegebene ASN.1-Element kann nicht als Steuerungswert f\u00fcr LDAP-Paged-Results entschl\u00fcsselt werden, da das Element nicht als Sequenz entschl\u00fcsselt werden konnte: %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT_280=Das angegebene ASN.1-Element kann nicht als Steuerungswert f\u00fcr LDAP-Paged-Results entschl\u00fcsselt werden, da die Anforderungssequenz eine ung\u00fcltige Anzahl an Elementen enth\u00e4lt (2 erwartet, %d erhalten) @@ -449,8 +450,7 @@ MILD_ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=Der angegebene Suchfilter enth\u00e4lt einen ung\u00fcltigen Attributtyp '%s' mit dem ung\u00fcltigen Zeichen '%s' auf Position %d MILD_ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=Der angegebene Suchfilter "%s" konnte nicht entschl\u00fcsselt werden, da die erweiterbare \u00dcbereinstimmungskomponente, die an Position %d beginnt, entweder keine Attributbeschreibung oder keine \u00fcbereinstimmende Regel-ID enthielt. Mindestens eines dieser beiden Elemente muss angegeben werden MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=LDAPv2-Clients sind nicht zur Verwendung von Anforderungssteuerungen berechtigt SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=Der in Konfigurationseintrag %s definierte LDAP-Verbindungshandler konnte keine Verkn\u00fcpfung zu %s herstellen:%d: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=Der in Konfigurationseintrag %s definierte JMX-Verbindungshandler konnte keine Verkn\u00fcpfung zu Port %d herstellen: %s SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=Der in Konfigurationseintrag %s definierte %s-Verbindungshandler konnte keine Verkn\u00fcpfung zu %s herstellen:%d: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=Sie haben keine ausreichenden Berechtigungen, um Hinzuf\u00fcgungsvorg\u00e4nge \u00fcber JMX durchf\u00fchren zu k\u00f6nnen MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=Sie haben keine ausreichenden Berechtigungen, um L\u00f6schvorg\u00e4nge \u00fcber JMX durchf\u00fchren zu k\u00f6nnen MILD_ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=Sie haben keine ausreichenden Berechtigungen, um \u00c4nderungen \u00fcber JMX durchf\u00fchren zu k\u00f6nnen @@ -498,4 +498,3 @@ MILD_ERR_ECLN_NO_CONTROL_VALUE_1509=Die angegebene Steuerung f\u00fcr die Eintrags\u00e4nderungsbenachrichtigung kann nicht entschl\u00fcsselt werden, da sie keinen Wert enth\u00e4lt MILD_ERR_ECLN_CANNOT_DECODE_VALUE_1510=Die angegebene Steuerung f\u00fcr die Eintrags\u00e4nderungsbenachrichtigung kann nicht entschl\u00fcsselt werden, da beim Versuch, den Steuerungswert zu entschl\u00fcsseln, ein Fehler aufgetreten ist: %s SEVERE_ERR_UNEXPECTED_CONNECTION_CLOSURE_1511=Die Verbindung zum Directory-Server wurde beim Warten auf eine Antwort geschlossen opends/src/messages/messages/protocol_es.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -197,9 +198,9 @@ FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=El controlador de conexi\u00f3n LDAP definido en la entrada de configuraci\u00f3n %s no pudo abrir un selector para poder multiplexar los sockets de aceptaci\u00f3n asociados: %s. Este controlador de conexi\u00f3n se inhabilitar\u00e1 SEVERE_ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=El controlador de conexi\u00f3n LDAP definido en la entrada de configuraci\u00f3n %s no pudo crear un canal de socket de servidor para aceptar conexiones en %s:%d: %s. El Servidor de directorios no escuchar\u00e1 nuevas conexiones en esa direcci\u00f3n FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=El controlador de conexi\u00f3n LDAP definido en la entrada de configuraci\u00f3n %s no pudo crear ninguno de los canales de socket en ninguna de las direcciones configuradas. El manejador de esta conexi\u00f3n se desactivar\u00e1 MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=El intento de conexi\u00f3n desde el cliente %s a %s se ha rechazado, el cliente se incluy\u00f3 en uno de los rangos de direcciones denegados MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=El intento de conexi\u00f3n desde el cliente %s a %s se ha rechazado, el cliente no se incluy\u00f3 en uno de los rangos de direcciones permitidos INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=Un error interno impidi\u00f3 a Directory Server registrar correctamente la conexi\u00f3n de cliente de %s a %s con un controlador de solicitud adecuado: %s MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=El intento de conexi\u00f3n desde el cliente %s a %s se ha rechazado, el cliente se incluy\u00f3 en uno de los rangos de direcciones denegados MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=El intento de conexi\u00f3n desde el cliente %s a %s se ha rechazado, el cliente no se incluy\u00f3 en uno de los rangos de direcciones permitidos INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=Un error interno impidi\u00f3 a Directory Server registrar correctamente la conexi\u00f3n de cliente de %s a %s con un controlador de solicitud adecuado: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=El controlador de conexi\u00f3n LDAP definido en la entrada de configuraci\u00f3n %s no pudo aceptar una nueva conexi\u00f3n de cliente: %s FATAL_ERR_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=El controlador de conexi\u00f3n LDAP definido en la entrada de configuraci\u00f3n %s ha experimentado errores consecutivos al tratar de aceptar las conexiones de cliente: %s. Este controlador de conexi\u00f3n se inhabilitar\u00e1 FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=El controlador de conexi\u00f3n LDAP definido en la entrada de configuraci\u00f3n %s detect\u00f3 un error inesperado al tratar de escuchar nuevas conexiones: %s. Este controlador de conexi\u00f3n se inhabilitar\u00e1 @@ -231,7 +232,7 @@ MILD_ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=El cliente con ID de conexi\u00f3n %d se autentic\u00f3 en Directory Server utilizando LDAPv2, pero intent\u00f3 enviar una solicitud de operaci\u00f3n ampliada (ID de mensaje LDAP %d), que no se permite para clientes LDAPv2. Esta conexi\u00f3n finalizar\u00e1 MILD_ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=Se intent\u00f3 inicializar el proveedor supervisor de estad\u00edsticas LDAP tal y como se define en la entrada de configuraci\u00f3n %s. Este proveedor de supervisi\u00f3n deber\u00e1 crearse solo de forma din\u00e1mica dentro del mismo Directory Server, y no dentro de la configuraci\u00f3n SEVERE_ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=El subproceso del controlador de solicitudes LDAP "%s" encontr\u00f3 un error inesperado que podr\u00eda haber finalizado el subproceso: %s. Se ha detectado el error, por lo que el controlador de solicitudes deber\u00eda seguir funcionando con normalidad MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=Se rechaz\u00f3 el intento de registrar esta conexi\u00f3n con Directory Server. Esto podr\u00eda indicar que el servidor ya tiene establecido el n\u00famero m\u00e1ximo permitido de conexiones, o que se encuentra en modo de acceso restringido MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=Se rechaz\u00f3 el intento de registrar esta conexi\u00f3n con Directory Server. Esto podr\u00eda indicar que el servidor ya tiene establecido el n\u00famero m\u00e1ximo permitido de conexiones, o que se encuentra en modo de acceso restringido INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS_215=Direcci\u00f3n o conjunto de direcciones en las que este controlador de conexi\u00f3n puede aceptar conexiones de cliente. Si no se especific\u00f3 ning\u00fan valor, el servidor aceptar\u00e1 conexiones en todas las direcciones activas. Los cambios efectuados en este atributo de configuraci\u00f3n no tendr\u00e1n efecto hasta que el controlador de conexi\u00f3n se desactive y se vuelva a activar, o hasta que se reinicie Directory Server INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=Puerto TCP en el que este controlador de conexi\u00f3n puede aceptar conexiones de cliente. Los cambios efectuados en este atributo de configuraci\u00f3n no tendr\u00e1n efecto hasta que el controlador de conexi\u00f3n se desactive y se vuelva a activar, o hasta que se reinicie Directory Server INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS_217=Especifica un conjunto de m\u00e1scaras de direcci\u00f3n que pueden utilizarse para determinar las direcciones de los clientes a los que se le permite establecer conexiones con este controlador de conexi\u00f3n. Si no se especifica ning\u00fan valor, se permitir\u00e1n todos los clientes con direcciones que no coincidan con una de las direcciones de la lista de denegaci\u00f3n. Los cambios realizados en este atributo de configuraci\u00f3n se aplicar\u00e1n inmediatamente, pero no interferir\u00e1n con conexiones que podr\u00edan estar ya establecidas @@ -293,8 +294,8 @@ MILD_ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=Se produjo un error al intentar conectar un proveedor de seguridad de conexi\u00f3n TLS para que esta conexi\u00f3n de cliente la utilice con StartTLS: %s MILD_ERR_LDAP_TLS_NO_PROVIDER_274=StartTLS no est\u00e1 disponible en esta conexi\u00f3n de cliente, la conexi\u00f3n no tiene acceso a un proveedor de seguridad de conexi\u00f3n TLS MILD_ERR_LDAP_TLS_CLOSURE_NOT_ALLOWED_275=El controlador de conexi\u00f3n LDAP no permite a los clientes cerrar una sesi\u00f3n StartTLS en una conexi\u00f3n de cliente al dejar activa la conexi\u00f3n TCP subyacente. Se cerrar\u00e1 la conexi\u00f3n TCP NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=Se empez\u00f3 a recibir nuevas conexiones en %s NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=Se dej\u00f3 de recibir nuevas conexiones en %s NOTICE_CONNHANDLER_STARTED_LISTENING_276=Se empez\u00f3 a recibir nuevas conexiones en %s NOTICE_CONNHANDLER_STOPPED_LISTENING_277=Se dej\u00f3 de recibir nuevas conexiones en %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=No es posible descodificar el elemento ASN.1 proporcionado como un valor de control de resultados paginados LDAP, el elemento es nulo MILD_ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=No es posible descodificar el elemento ASN.1 proporcionado como valor de control de resultados paginados LDAP, el elemento no pudo descodificarse como una secuencia: %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT_280=No es posible descodificar el elemento ASN.1 proporcionado como valor de control de resultados paginados LDAP, la secuencia de petici\u00f3n tiene un n\u00famero de elementos no v\u00e1lido (se esperaba 2, se recibi\u00f3 %d) @@ -449,8 +450,7 @@ MILD_ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=El filtro de b\u00fasqueda proporcionado contiene un tipo de atributo no v\u00e1lido "%s" con un car\u00e1cter no v\u00e1lido "%s" en la posici\u00f3n %d MILD_ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=El filtro de b\u00fasqueda especificado "%s" no se pudo descodificar porque el componente de coincidencia extensible que comenzaba en la posici\u00f3n %d no inclu\u00eda ninguna descripci\u00f3n de atributo ni ID. de regla coincidente. Debe especificarse, al menos, uno de estos elementos MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=No se permite a los clientes LDAPv2 utilizar controles de solicitud SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=El controlador de conexi\u00f3n LDAP definido en la entrada de configuraci\u00f3n %s no pudo enlazar con %s:%d: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=El controlador de conexi\u00f3n JMX definido en la entrada de configuraci\u00f3n %s no pudo enlazar con el puerto %d: %s SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=El controlador de conexi\u00f3n %s definido en la entrada de configuraci\u00f3n %s no pudo enlazar con %s:%d: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=No cuenta con privilegios suficientes para efectuar operaciones de adici\u00f3n a trav\u00e9s de JMX MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=No cuenta con privilegios suficientes para efectuar operaciones de eliminaci\u00f3n a trav\u00e9s de JMX MILD_ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=No cuenta con privilegios suficientes para efectuar operaciones de modificaci\u00f3n a trav\u00e9s de JMX @@ -498,4 +498,3 @@ MILD_ERR_ECLN_NO_CONTROL_VALUE_1509=No es posible descodificar el control de notificaci\u00f3n de registro de cambios de entrada proporcionado, no tiene un valor MILD_ERR_ECLN_CANNOT_DECODE_VALUE_1510=No es posible descodificar el control de notificaci\u00f3n de registro de cambios de entrada proporcionado, se produjo un error al intentar descodificar el valor de control: %s SEVERE_ERR_UNEXPECTED_CONNECTION_CLOSURE_1511=Se ha cerrado la conexi\u00f3n al Servidor de directorios mientras se esperaba una respuesta opends/src/messages/messages/protocol_fr.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -197,9 +198,9 @@ FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=Le gestionnaire de connexion LDAP d\u00e9fini dans l\u2019entr\u00e9e de configuration %s n\u2019a pas pu ouvrir un s\u00e9lecteur pour lui permettre de multiplexer les sockets d\u2019acceptation associ\u00e9s\u00a0: %s. Ce gestionnaire de connexion va \u00eatre d\u00e9sactiv\u00e9 SEVERE_ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=Le gestionnaire de connexion LDAP d\u00e9fini dans l\u2019entr\u00e9e de configuration %s n\u2019a pas pu cr\u00e9er de canal de socket serveur pour accepter les connexions sur %s:%d\u00a0: %s. Directory Server ne va pas \u00e9couter les nouvelles connexions \u00e0 cette adresse FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=Le gestionnaire de connexion LDAP d\u00e9fini dans l\u2019entr\u00e9e de configuration %s n\u2019a pu cr\u00e9er aucun des canaux de socket, sur aucune des adresses configur\u00e9es. Ce gestionnaire de connexion va \u00eatre d\u00e9sactiv\u00e9 MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=La tentative de connexion du client %s \u00e0 %s a \u00e9t\u00e9 refus\u00e9e, car le client \u00e9tait inclus dans l'une des plages d'adresses refus\u00e9es MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=La tentative de connexion du client %s \u00e0 %s a \u00e9t\u00e9 refus\u00e9e, car le client n'\u00e9tait pas inclus dans l'une des plages d'adresses autoris\u00e9es INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182= Une erreur interne a emp\u00each\u00e9 Directory Server d'enregistrer correctement la connexion cliente de %s \u00e0 %s avec un gestionnaire de demandes appropri\u00e9\u00a0: %s MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=La tentative de connexion du client %s \u00e0 %s a \u00e9t\u00e9 refus\u00e9e, car le client \u00e9tait inclus dans l'une des plages d'adresses refus\u00e9es MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=La tentative de connexion du client %s \u00e0 %s a \u00e9t\u00e9 refus\u00e9e, car le client n'\u00e9tait pas inclus dans l'une des plages d'adresses autoris\u00e9es INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182= Une erreur interne a emp\u00each\u00e9 Directory Server d'enregistrer correctement la connexion cliente de %s \u00e0 %s avec un gestionnaire de demandes appropri\u00e9\u00a0: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=Le gestionnaire de connexion LDAP d\u00e9fini dans l'entr\u00e9e de configuration %s n'a pas pu accepter une nouvelle connexion cliente\u00a0: %s FATAL_ERR_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=Le gestionnaire de connexion LDAP d\u00e9fini dans l\u2019entr\u00e9e de configuration %s a rencontr\u00e9 des \u00e9checs successifs lors de la tentative d\u2019acceptation des connexions client\u00a0: %s. Ce gestionnaire de connexion va \u00eatre d\u00e9sactiv\u00e9 FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=Le gestionnaire de connexion LDAP d\u00e9fini dans l\u2019entr\u00e9e de configuration %s a d\u00e9tect\u00e9 une erreur inattendue lors de la tentative d\u2019\u00e9coute des nouvelles connexions\u00a0: %s. Ce gestionnaire de connexion va \u00eatre d\u00e9sactiv\u00e9 @@ -231,7 +232,7 @@ MILD_ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=Le client avec l'ID de connexion %d a \u00e9t\u00e9 authentifi\u00e9 sur Directory Server \u00e0 l'aide de LDAPv2, mais il a tent\u00e9 d'envoyer une demande d'op\u00e9ration \u00e9tendue (ID message LDAP %d), ce qui n'est pas autoris\u00e9 pour les clients LDAPv2. La connexion va \u00eatre arr\u00eat\u00e9e MILD_ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=Une tentative d'initialisation du fournisseur du moniteur de statistiques LDAP a eu lieu, comme d\u00e9fini dans l'entr\u00e9e de configuration %s. Ce fournisseur de moniteur doit \u00eatre cr\u00e9\u00e9 uniquement dynamiquement dans Directory Server m\u00eame, et pas \u00e0 partir de la configuration SEVERE_ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=Le thread de gestionnaire de requ\u00eate LDAP "%s" a rencontr\u00e9 une erreur inattendue, qui aurait provoqu\u00e9 la destruction de ce thread\u00a0: %s. L\u2019erreur a \u00e9t\u00e9 d\u00e9tect\u00e9e et le gestionnaire de requ\u00eate devrait continuer \u00e0 fonctionner normalement MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=Tentative d'enregistrement de cette connexion avec Directory Server rejet\u00e9e. Cela peut indiquer que le serveur dispose d\u00e9j\u00e0 du nombre maximal autoris\u00e9 de connexions concurrentes \u00e9tabli, ou qu'il est en mode d'acc\u00e8s restreint MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=Tentative d'enregistrement de cette connexion avec Directory Server rejet\u00e9e. Cela peut indiquer que le serveur dispose d\u00e9j\u00e0 du nombre maximal autoris\u00e9 de connexions concurrentes \u00e9tabli, ou qu'il est en mode d'acc\u00e8s restreint INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS_215=Adresse ou jeu d'adresses sur lequel ce gestionnaire de connexion peut accepter des connexions clientes. Si aucune valeur n'est sp\u00e9cifi\u00e9e, alors le serveur accepte les connexions sur toutes les adresses actives. Les modifications apport\u00e9es \u00e0 cet attribut de configuration ne seront effectives qu'apr\u00e8s la d\u00e9sactivation et la r\u00e9activation du gestionnaire de connexion, ou qu'apr\u00e8s le red\u00e9marrage de Directory Server INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=Port TCP sur lequel ce gestionnaire de connexion peut accepter des connexions clientes. Les modifications apport\u00e9es \u00e0 cet attribut de configuration ne seront effectives qu'apr\u00e8s la d\u00e9sactivation et la r\u00e9activation du gestionnaire de connexion, ou qu'apr\u00e8s le red\u00e9marrage de Directory Server INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS_217=Sp\u00e9cifie un jeu de masques d'adresse qui peut servir \u00e0 d\u00e9terminer les adresses des clients autoris\u00e9s \u00e0 \u00e9tablir des connexions \u00e0 ce gestionnaire de connexion. Si aucune valeur n'est sp\u00e9cifi\u00e9e, alors tous les clients disposant d'adresses qui ne correspondent pas \u00e0 une adresse sur la liste de refus seront autoris\u00e9es. Les modifications apport\u00e9es \u00e0 cet attribut de configuration seront imm\u00e9diatement prises en compte, mais n'interf\u00e9reront pas avec des connexions \u00e9ventuellement d\u00e9j\u00e0 \u00e9tablies. @@ -293,8 +294,8 @@ MILD_ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=Une erreur s'est produite lors de la tentative de cr\u00e9ation d'un fournisseur de s\u00e9curit\u00e9 de connexion TLS pour cette connexion cliente, en vue d'une utilisation avec StartTLS : %s MILD_ERR_LDAP_TLS_NO_PROVIDER_274=StartTLS n'est pas disponible sur cette connexion cliente, car cette connexion ne dispose pas d'un acc\u00e8s \u00e0 un fournisseur de s\u00e9curit\u00e9 de connexion TLS MILD_ERR_LDAP_TLS_CLOSURE_NOT_ALLOWED_275=Le gestionnaire de connexion LDAP n'autorise pas les clients \u00e0 fermer une session StartTLS sur une connexion cliente tout en conservant la connexion TCP sous-jacente active. La connexion TCP va \u00eatre ferm\u00e9e NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=\u00c9coute d\u00e9marr\u00e9e pour les nouvelles connexions sur %s NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=\u00c9coute arr\u00eat\u00e9e pour les nouvelles connexions sur %s NOTICE_CONNHANDLER_STARTED_LISTENING_276=\u00c9coute d\u00e9marr\u00e9e pour les nouvelles connexions sur %s NOTICE_CONNHANDLER_STOPPED_LISTENING_277=\u00c9coute arr\u00eat\u00e9e pour les nouvelles connexions sur %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=Impossible de d\u00e9coder l'\u00e9l\u00e9ment ASN.1 fourni en tant que valeur de contr\u00f4le de r\u00e9sultats charg\u00e9s LDAP car l'\u00e9l\u00e9ment est nul MILD_ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=Impossible de d\u00e9coder l'\u00e9l\u00e9ment ASN.1 fourni en tant que valeur de contr\u00f4le de r\u00e9sultats charg\u00e9s LDAP, car cet \u00e9l\u00e9ment n'a pas pu \u00eatre d\u00e9cod\u00e9 en tant que s\u00e9quence : %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT_280=Impossible de d\u00e9coder l'\u00e9l\u00e9ment ASN.1 fourni en tant que valeur de contr\u00f4le de r\u00e9sultats charg\u00e9s LDAP, car la s\u00e9quence de demandes poss\u00e8de un nombre incorrect d'\u00e9l\u00e9ments (2 attendus, %d obtenus) @@ -449,8 +450,7 @@ MILD_ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=Le filtre de recherche fourni contient un type d'attribut incorrect '%s' avec un caract\u00e8re incorrect '%s' \u00e0 la position %d MILD_ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=Impossible de d\u00e9coder le filtre de recherche fourni "%s" car le composant de correspondance extensible commen\u00e7ant \u00e0 l'emplacement %d n'inclut ni description d'attribut ni ID de r\u00e8gle de correspondance. L'un d'eux au moins doit \u00eatre fourni MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=Les clients LDAPv2 ne sont pas autoris\u00e9s \u00e0 utiliser des contr\u00f4les de demande SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=Le gestionnaire de connexion LDAP d\u00e9fini dans l\u2019entr\u00e9e de configuration %s n\u2019a pas pu cr\u00e9er de liaison avec %s:%d\u00a0: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=Le gestionnaire de connexion JMX d\u00e9fini dans l\u2019entr\u00e9e de configuration %s n\u2019a pas pu cr\u00e9er de liaison avec le port %d\u00a0: %s SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=Le gestionnaire de connexion %s d\u00e9fini dans l\u2019entr\u00e9e de configuration %s n\u2019a pas pu cr\u00e9er de liaison avec %s:%d\u00a0: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=Vous ne disposez pas des privil\u00e8ges suffisants pour effectuer des op\u00e9rations d'ajout via JMX MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=Vous ne disposez pas des privil\u00e8ges suffisants pour effectuer des op\u00e9rations de suppression via JMX MILD_ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=Vous ne disposez pas des privil\u00e8ges suffisants pour effectuer des op\u00e9rations de modification via JMX @@ -498,4 +498,5 @@ MILD_ERR_ECLN_NO_CONTROL_VALUE_1509=Impossible de d\u00e9coder le contr\u00f4le de notification de journal de modifications d'entr\u00e9e fourni, car il ne poss\u00e8de pas de valeur MILD_ERR_ECLN_CANNOT_DECODE_VALUE_1510=Impossible de d\u00e9coder le contr\u00f4le de notification de journal de modifications d'entr\u00e9e fourni, car une erreur s'est produite lors de la tentative de d\u00e9codage de sa valeur : %s SEVERE_ERR_UNEXPECTED_CONNECTION_CLOSURE_1511=La connexion \u00e0 Directory Server a \u00e9t\u00e9 ferm\u00e9e lors de l\u2019attente de la r\u00e9ponse INFO_HTTP_CONNHANDLER_STARTTLS_NOT_SUPPORTED_1515=Le gestionnaire de connexion HTTP ne permet pas d'utiliser l'op\u00e9ration \u00e9tendue StartTLS. MILD_ERR_CONNHANDLER_CONFIG_CHANGES_REQUIRE_RESTART_1516=Le serveur a re\u00e7u des changements de configuration qui n\u00e9cessitent de r\u00e9demarrer le gestionnaire de connexion %s pour les appliquer opends/src/messages/messages/protocol_ja.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -197,9 +198,9 @@ FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u3001\u95a2\u9023\u4ed8\u3051\u3089\u308c\u305f\u53d7\u4fe1\u30bd\u30b1\u30c3\u30c8\u3092\u591a\u91cd\u5316\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306e\u30bb\u30ec\u30af\u30bf\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s\u3002\u3053\u306e\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u7121\u52b9\u306b\u306a\u308a\u307e\u3059 SEVERE_ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u3001%s:%d \u306e\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u305f\u3081\u306e\u30b5\u30fc\u30d0\u30fc\u30bd\u30b1\u30c3\u30c8\u30c1\u30e3\u30cd\u30eb\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s\u3002\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306f\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u3067\u65b0\u3057\u3044\u63a5\u7d9a\u3092\u5f85\u6a5f\u3057\u307e\u305b\u3093 FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u3001\u3044\u305a\u308c\u306e\u69cb\u6210\u6e08\u307f\u306e\u30a2\u30c9\u30ec\u30b9\u3067\u3082\u30bd\u30b1\u30c3\u30c8\u30c1\u30e3\u30cd\u30eb\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3053\u306e\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u7121\u52b9\u306b\u306a\u308a\u307e\u3059 MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8 %s \u304b\u3089 %s \u3078\u306e\u63a5\u7d9a\u8a66\u884c\u306f\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u3001\u62d2\u5426\u3055\u308c\u308b\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u306e 1 \u3064\u306b\u542b\u307e\u308c\u3066\u3044\u307e\u3057\u305f MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8 %s \u304b\u3089 %s \u3078\u306e\u63a5\u7d9a\u8a66\u884c\u306f\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u3001\u8a31\u53ef\u3055\u308c\u308b\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u306e 1 \u3064\u306b\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\u5185\u90e8\u30a8\u30e9\u30fc\u306e\u305f\u3081\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306f\u3001%s \u304b\u3089 %s \u3078\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u3092\u9069\u5207\u306a\u8981\u6c42\u30cf\u30f3\u30c9\u30e9\u306b\u6b63\u3057\u304f\u767b\u9332\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8 %s \u304b\u3089 %s \u3078\u306e\u63a5\u7d9a\u8a66\u884c\u306f\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u3001\u62d2\u5426\u3055\u308c\u308b\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u306e 1 \u3064\u306b\u542b\u307e\u308c\u3066\u3044\u307e\u3057\u305f MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8 %s \u304b\u3089 %s \u3078\u306e\u63a5\u7d9a\u8a66\u884c\u306f\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u3001\u8a31\u53ef\u3055\u308c\u308b\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u306e 1 \u3064\u306b\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\u5185\u90e8\u30a8\u30e9\u30fc\u306e\u305f\u3081\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306f\u3001%s \u304b\u3089 %s \u3078\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u3092\u9069\u5207\u306a\u8981\u6c42\u30cf\u30f3\u30c9\u30e9\u306b\u6b63\u3057\u304f\u767b\u9332\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u3001\u65b0\u3057\u3044\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s FATAL_ERR_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u306e\u53d7\u3051\u5165\u308c\u4e2d\u306b\u3001\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u3067\u969c\u5bb3\u304c\u9023\u7d9a\u3057\u3066\u767a\u751f\u3057\u307e\u3057\u305f: %s\u3002\u3053\u306e\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u7121\u52b9\u306b\u306a\u308a\u307e\u3059 FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=\u65b0\u3057\u3044\u63a5\u7d9a\u306e\u5f85\u6a5f\u4e2d\u306b\u3001\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u3067\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u307e\u3057\u305f: %s\u3002\u3053\u306e\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u306f\u7121\u52b9\u306b\u306a\u308a\u307e\u3059 @@ -231,7 +232,7 @@ MILD_ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=\u63a5\u7d9a ID %d \u3092\u6301\u3064\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c LDAPv2 \u3092\u4f7f\u7528\u3057\u3066\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u8a8d\u8a3c\u3092\u5b9f\u884c\u3057\u307e\u3057\u305f\u304c\u3001\u62e1\u5f35\u64cd\u4f5c\u8981\u6c42\u3092\u9001\u4fe1\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f (LDAP \u30e1\u30c3\u30bb\u30fc\u30b8 ID %d)\u3002\u3053\u308c\u306f LDAPv2 \u3067\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002 \u63a5\u7d9a\u306f\u7d42\u4e86\u3057\u307e\u3059 MILD_ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u306e\u5b9a\u7fa9\u306b\u5f93\u3063\u3066\u3001LDAP \u7d71\u8a08\u30e2\u30cb\u30bf\u30fc\u30d7\u30ed\u30d0\u30a4\u30c0\u3092\u521d\u671f\u5316\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002\u3053\u306e\u30e2\u30cb\u30bf\u30fc\u30d7\u30ed\u30d0\u30a4\u30c0\u306f\u3001\u69cb\u6210\u5185\u304b\u3089\u3067\u306f\u306a\u304f\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u81ea\u4f53\u306e\u4e2d\u3067\u306e\u307f\u52d5\u7684\u306b\u4f5c\u6210\u3059\u3079\u304d\u3067\u3059 SEVERE_ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=LDAP \u8981\u6c42\u30cf\u30f3\u30c9\u30e9\u30b9\u30ec\u30c3\u30c9 "%s" \u3067\u3001\u30b9\u30ec\u30c3\u30c9\u7d42\u4e86\u306e\u539f\u56e0\u3068\u306a\u308b\u3001\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059: %s\u3002\u3053\u306e\u30a8\u30e9\u30fc\u306f\u3059\u3067\u306b\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u304a\u308a\u3001\u8981\u6c42\u30cf\u30f3\u30c9\u30e9\u306f\u901a\u5e38\u306e\u51e6\u7406\u3092\u7d9a\u884c\u3057\u307e\u3059 MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=\u3053\u306e\u63a5\u7d9a\u3092\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306b\u767b\u9332\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002 \u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u6570\u306e\u540c\u6642\u63a5\u7d9a\u304c\u30b5\u30fc\u30d0\u30fc\u3067\u3059\u3067\u306b\u78ba\u7acb\u3055\u308c\u3066\u3044\u308b\u304b\u3001\u307e\u305f\u306f\u30b5\u30fc\u30d0\u30fc\u304c\u5236\u9650\u4ed8\u304d\u30a2\u30af\u30bb\u30b9\u30e2\u30fc\u30c9\u306b\u306a\u3063\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059 MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=\u3053\u306e\u63a5\u7d9a\u3092\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306b\u767b\u9332\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002 \u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u6570\u306e\u540c\u6642\u63a5\u7d9a\u304c\u30b5\u30fc\u30d0\u30fc\u3067\u3059\u3067\u306b\u78ba\u7acb\u3055\u308c\u3066\u3044\u308b\u304b\u3001\u307e\u305f\u306f\u30b5\u30fc\u30d0\u30fc\u304c\u5236\u9650\u4ed8\u304d\u30a2\u30af\u30bb\u30b9\u30e2\u30fc\u30c9\u306b\u306a\u3063\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059 INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS_215=\u3053\u306e\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u304c\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u30a2\u30c9\u30ec\u30b9\u307e\u305f\u306f\u30a2\u30c9\u30ec\u30b9\u30bb\u30c3\u30c8\u3002 \u5024\u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u3001\u30b5\u30fc\u30d0\u30fc\u306f\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30a2\u30c9\u30ec\u30b9\u3059\u3079\u3066\u306e\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u307e\u3059\u3002 \u3053\u306e\u8a2d\u5b9a\u5c5e\u6027\u3078\u306e\u5909\u66f4\u306f\u3001\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u3092\u7121\u52b9\u306b\u3057\u3066\u518d\u5ea6\u6709\u52b9\u306b\u3059\u308b\u304b\u3001\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u3092\u518d\u8d77\u52d5\u3059\u308b\u307e\u3067\u6709\u52b9\u306b\u306a\u308a\u307e\u305b\u3093 INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=\u3053\u306e\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u304c\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u308b TCP \u30dd\u30fc\u30c8\u3002 \u3053\u306e\u8a2d\u5b9a\u5c5e\u6027\u3078\u306e\u5909\u66f4\u306f\u3001\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u3092\u7121\u52b9\u306b\u3057\u3066\u518d\u5ea6\u6709\u52b9\u306b\u3059\u308b\u304b\u3001\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u3092\u518d\u8d77\u52d5\u3059\u308b\u307e\u3067\u6709\u52b9\u306b\u306a\u308a\u307e\u305b\u3093 INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS_217=\u3053\u306e\u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3059\u308b\u3053\u3068\u3092\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u5224\u5b9a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u308b\u30a2\u30c9\u30ec\u30b9\u30de\u30b9\u30af\u30bb\u30c3\u30c8\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002 \u5024\u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u306f\u3001\u62d2\u5426\u30ea\u30b9\u30c8\u306e\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3057\u306a\u3044\u30a2\u30c9\u30ec\u30b9\u3092\u6301\u3064\u3059\u3079\u3066\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u8a31\u53ef\u3055\u308c\u307e\u3059\u3002 \u3053\u306e\u8a2d\u5b9a\u5c5e\u6027\u3078\u306e\u5909\u66f4\u306f\u305f\u3060\u3061\u306b\u6709\u52b9\u306b\u306a\u308a\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u78ba\u7acb\u6e08\u307f\u306e\u63a5\u7d9a\u304c\u3042\u308b\u5834\u5408\u3001\u305d\u306e\u63a5\u7d9a\u306b\u306f\u5f71\u97ff\u3057\u307e\u305b\u3093 @@ -293,8 +294,8 @@ MILD_ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=StartTLS \u3067\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u3053\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u306e TLS \u63a5\u7d9a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fc\u30d7\u30ed\u30d0\u30a4\u30c0\u3092\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s MILD_ERR_LDAP_TLS_NO_PROVIDER_274=\u3053\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u3067 StartTLS \u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u63a5\u7d9a\u306b TLS \u63a5\u7d9a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fc\u30d7\u30ed\u30d0\u30a4\u30c0\u3078\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u304c\u3042\u308a\u307e\u305b\u3093 MILD_ERR_LDAP_TLS_CLOSURE_NOT_ALLOWED_275=LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u3067\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u914d\u4e0b\u306e TCP \u63a5\u7d9a\u3092\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u3057\u305f\u307e\u307e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u63a5\u7d9a\u306e StartTLS \u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u9589\u3058\u308b\u3053\u3068\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002 TCP \u63a5\u7d9a\u306f\u9589\u3058\u3089\u308c\u307e\u3059 NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=%s \u3067\u65b0\u3057\u3044\u63a5\u7d9a\u306e\u5f85\u6a5f\u3092\u958b\u59cb\u3057\u307e\u3057\u305f NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=%s \u3067\u65b0\u3057\u3044\u63a5\u7d9a\u306e\u5f85\u6a5f\u3092\u505c\u6b62\u3057\u307e\u3057\u305f NOTICE_CONNHANDLER_STARTED_LISTENING_276=%s \u3067\u65b0\u3057\u3044\u63a5\u7d9a\u306e\u5f85\u6a5f\u3092\u958b\u59cb\u3057\u307e\u3057\u305f NOTICE_CONNHANDLER_STOPPED_LISTENING_277=%s \u3067\u65b0\u3057\u3044\u63a5\u7d9a\u306e\u5f85\u6a5f\u3092\u505c\u6b62\u3057\u307e\u3057\u305f MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=\u6307\u5b9a\u3055\u308c\u305f ASN.1 \u8981\u7d20\u3092 LDAP \u7d50\u679c\u30da\u30fc\u30b8\u30f3\u30b0\u5236\u5fa1\u5024\u3068\u3057\u3066\u5fa9\u53f7\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u8981\u7d20\u304c NULL \u3067\u3059 MILD_ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=\u6307\u5b9a\u3055\u308c\u305f ASN.1 \u8981\u7d20\u3092 LDAP \u7d50\u679c\u30da\u30fc\u30b8\u30f3\u30b0\u5236\u5fa1\u5024\u3068\u3057\u3066\u5fa9\u53f7\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u8981\u7d20\u3092\u30b7\u30fc\u30b1\u30f3\u30b9\u3068\u3057\u3066\u5fa9\u53f7\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT_280=\u6307\u5b9a\u3055\u308c\u305f ASN.1 \u8981\u7d20\u3092 LDAP \u7d50\u679c\u30da\u30fc\u30b8\u30f3\u30b0\u5236\u5fa1\u5024\u3068\u3057\u3066\u5fa9\u53f7\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u8981\u6c42\u30b7\u30fc\u30b1\u30f3\u30b9\u306b\u7121\u52b9\u306a\u6570\u306e\u8981\u7d20\u304c\u3042\u308a\u307e\u3059 (2 \u304c\u671f\u5f85\u3055\u308c\u305f\u3068\u3053\u308d\u3001%d \u3092\u53d6\u5f97) @@ -449,8 +450,7 @@ MILD_ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=\u6307\u5b9a\u3055\u308c\u305f\u691c\u7d22\u30d5\u30a3\u30eb\u30bf\u306e\u4f4d\u7f6e %3$d \u306b\u7121\u52b9\u306a\u6587\u5b57 '%2$s' \u304c\u3042\u308b\u7121\u52b9\u306a\u5c5e\u6027\u578b '%1$s' \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059 MILD_ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=\u6307\u5b9a\u3055\u308c\u305f\u691c\u7d22\u30d5\u30a3\u30eb\u30bf "%s" \u3092\u5fa9\u53f7\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4f4d\u7f6e %d \u3067\u59cb\u307e\u308b\u62e1\u5f35\u4e00\u81f4\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306b\u5c5e\u6027\u306e\u8aac\u660e\u307e\u305f\u306f\u30de\u30c3\u30c1\u30f3\u30b0\u30eb\u30fc\u30eb ID \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002 \u3053\u308c\u3089\u306e\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=LDAPv2 \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067\u8981\u6c42\u5236\u5fa1\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093 SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f LDAP \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u304c %s:%d \u306b\u30d0\u30a4\u30f3\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f JMX \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u304c\u30dd\u30fc\u30c8 %d \u306b\u30d0\u30a4\u30f3\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %s \u3067\u5b9a\u7fa9\u3055\u308c\u305f %s \u63a5\u7d9a\u30cf\u30f3\u30c9\u30e9\u304c %s:%d \u306b\u30d0\u30a4\u30f3\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=JMX \u3092\u4ecb\u3057\u3066\u8ffd\u52a0\u64cd\u4f5c\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093 MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=JMX \u3092\u4ecb\u3057\u3066\u524a\u9664\u64cd\u4f5c\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093 MILD_ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=JMX \u3092\u4ecb\u3057\u3066\u5909\u66f4\u64cd\u4f5c\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093 opends/src/messages/messages/protocol_ko.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -197,9 +198,9 @@ FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uc5d0\uc11c \uc120\ud0dd\uae30\ub97c \uc5f4\uc5b4 \uc5f0\uacb0\ub41c \ud5c8\uc6a9 \uc18c\ucf13\uc744 \uba40\ud2f0\ud50c\ub809\uc2f1\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s. \uc774 \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4. SEVERE_ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 %s:%d\uc5d0\uc11c \uc11c\ubc84 \uc18c\ucf13 \ucc44\ub110\uc744 \ub9cc\ub4e4\uc5b4 \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s. \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uac00 \ud574\ub2f9 \uc8fc\uc18c\uc5d0\uc11c \uc0c8 \uc5f0\uacb0\uc744 \uc218\uc2e0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \uad6c\uc131\ub41c \uc8fc\uc18c\uc5d0\uc11c \uc18c\ucf13 \ucc44\ub110\uc744 \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4. MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uac70\ubd80\ub41c \uc8fc\uc18c \ubc94\uc704 \uc911 \ud558\ub098\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0 \ud074\ub77c\uc774\uc5b8\ud2b8 %s\uc5d0\uc11c %s(\uc73c)\ub85c\uc758 \uc5f0\uacb0 \uc2dc\ub3c4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4. MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ud5c8\uc6a9\ub41c \uc8fc\uc18c \ubc94\uc704 \uc911 \ud558\ub098\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \ud074\ub77c\uc774\uc5b8\ud2b8 %s\uc5d0\uc11c %s(\uc73c)\ub85c\uc758 \uc5f0\uacb0 \uc2dc\ub3c4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4. INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\ub0b4\ubd80 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uac00 %s\uc5d0\uc11c %s(\uc73c)\ub85c\uc758 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc744 \uc801\uc808\ud55c \uc694\uccad \ucc98\ub9ac\uae30\uc5d0 \uc62c\ubc14\ub85c \ub4f1\ub85d\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uac70\ubd80\ub41c \uc8fc\uc18c \ubc94\uc704 \uc911 \ud558\ub098\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0 \ud074\ub77c\uc774\uc5b8\ud2b8 %s\uc5d0\uc11c %s(\uc73c)\ub85c\uc758 \uc5f0\uacb0 \uc2dc\ub3c4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4. MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ud5c8\uc6a9\ub41c \uc8fc\uc18c \ubc94\uc704 \uc911 \ud558\ub098\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \ud074\ub77c\uc774\uc5b8\ud2b8 %s\uc5d0\uc11c %s(\uc73c)\ub85c\uc758 \uc5f0\uacb0 \uc2dc\ub3c4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4. INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\ub0b4\ubd80 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uac00 %s\uc5d0\uc11c %s(\uc73c)\ub85c\uc758 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc744 \uc801\uc808\ud55c \uc694\uccad \ucc98\ub9ac\uae30\uc5d0 \uc62c\ubc14\ub85c \ub4f1\ub85d\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \uc0c8 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s FATAL_ERR_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uc5d0\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud558\ub294 \ub3d9\uc548 \uc5f0\uc18d\ud574\uc11c \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s. \uc774 \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4. FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uc5d0\uc11c \uc0c8 \uc5f0\uacb0\uc744 \uc218\uc2e0\ud558\ub294 \ub3d9\uc548 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s. \uc774 \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4. @@ -231,7 +232,7 @@ MILD_ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=\uc5f0\uacb0 \uc544\uc774\ub514 %d\uc758 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 LDAPv2\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0 \uc778\uc99d\ub418\uc5c8\uc9c0\ub9cc LDAPv2 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\ub294 \ud655\uc7a5 \uc791\uc5c5 \uc694\uccad(LDAP \uba54\uc2dc\uc9c0 \uc544\uc774\ub514 %d)\uc744 \ubcf4\ub0b4\ub824\uace0 \ud588\uc2b5\ub2c8\ub2e4. \uc5f0\uacb0\uc774 \uc885\ub8cc\ub429\ub2c8\ub2e4. MILD_ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \ud1b5\uacc4 \ubaa8\ub2c8\ud130 \uacf5\uae09\uc790\ub97c \ucd08\uae30\ud654\ud558\ub824\uace0 \ud588\uc2b5\ub2c8\ub2e4. \uc774 \ubaa8\ub2c8\ud130 \uacf5\uae09\uc790\ub294 \uad6c\uc131 \ub0b4\uc5d0\uc11c\uac00 \uc544\ub2c8\ub77c \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84 \uc790\uccb4 \ub0b4\uc5d0\uc11c \ub3d9\uc801\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc57c \ud569\ub2c8\ub2e4. SEVERE_ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=LDAP \uc694\uccad \ucc98\ub9ac\uae30 \uc2a4\ub808\ub4dc \"%s\"\uc5d0\uc11c \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc5ec \uc2a4\ub808\ub4dc\uac00 \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4: %s. \uc624\ub958\uac00 \ucc98\ub9ac\ub418\uc5c8\uc73c\ubbc0\ub85c \uc694\uccad \ucc98\ub9ac\uae30\ub294 \uacc4\uc18d \uc815\uc0c1\uc801\uc73c\ub85c \uc791\ub3d9\ud574\uc57c \ud569\ub2c8\ub2e4. MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=\uc774 \uc5f0\uacb0\uc744 \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0 \ub4f1\ub85d\ud558\ub824\ub294 \uc2dc\ub3c4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc11c\ubc84\uc5d0 \ud5c8\uc6a9\ub418\ub294 \ucd5c\ub300 \ub3d9\uc2dc \uc5f0\uacb0 \uc218\uac00 \uc774\ubbf8 \uc124\uc815\ub418\uc5b4 \uc788\uac70\ub098 \uc11c\ubc84\uac00 \uc81c\ud55c\ub41c \uc561\uc138\uc2a4 \ubaa8\ub4dc\uc5d0 \uc788\uae30 \ub54c\ubb38\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=\uc774 \uc5f0\uacb0\uc744 \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0 \ub4f1\ub85d\ud558\ub824\ub294 \uc2dc\ub3c4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc11c\ubc84\uc5d0 \ud5c8\uc6a9\ub418\ub294 \ucd5c\ub300 \ub3d9\uc2dc \uc5f0\uacb0 \uc218\uac00 \uc774\ubbf8 \uc124\uc815\ub418\uc5b4 \uc788\uac70\ub098 \uc11c\ubc84\uac00 \uc81c\ud55c\ub41c \uc561\uc138\uc2a4 \ubaa8\ub4dc\uc5d0 \uc788\uae30 \ub54c\ubb38\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS_215=\uc774 \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud560 \uc218 \uc788\ub294 \uc8fc\uc18c \ub610\ub294 \uc8fc\uc18c \uc9d1\ud569\uc785\ub2c8\ub2e4. \uac12\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc73c\uba74 \uc11c\ubc84\uac00 \ubaa8\ub4e0 \ud65c\uc131 \uc8fc\uc18c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud569\ub2c8\ub2e4. \uc774 \uad6c\uc131 \uc18d\uc131\uc5d0 \ub300\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc801\uc6a9\ud558\ub824\uba74 \uc5f0\uacb0 \ucc98\ub9ac\uae30\ub97c \ube44\ud65c\uc131\ud654\ud588\ub2e4\uac00 \ub2e4\uc2dc \ud65c\uc131\ud654\ud558\uac70\ub098 \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud574\uc57c \ud569\ub2c8\ub2e4. INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=\uc774 \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud560 \uc218 \uc788\ub294 TCP \ud3ec\ud2b8\uc785\ub2c8\ub2e4. \uc774 \uad6c\uc131 \uc18d\uc131\uc5d0 \ub300\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc801\uc6a9\ud558\ub824\uba74 \uc5f0\uacb0 \ucc98\ub9ac\uae30\ub97c \ube44\ud65c\uc131\ud654\ud588\ub2e4\uac00 \ub2e4\uc2dc \ud65c\uc131\ud654\ud558\uac70\ub098 \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud574\uc57c \ud569\ub2c8\ub2e4. INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS_217=\uc774 \uc5f0\uacb0 \ucc98\ub9ac\uae30\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc744 \uc124\uc815\ud560 \uc218 \uc788\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc8fc\uc18c\ub97c \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc8fc\uc18c \ub9c8\uc2a4\ud06c \uc9d1\ud569\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. \uac12\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc73c\uba74 \uc8fc\uc18c\uac00 \uac70\ubd80 \ubaa9\ub85d\uc758 \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\ub294 \ubaa8\ub4e0 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ud5c8\uc6a9\ub429\ub2c8\ub2e4. \uc774 \uad6c\uc131 \uc18d\uc131\uc5d0 \ub300\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc740 \uc989\uc2dc \uc801\uc6a9\ub418\uc9c0\ub9cc \uc774\ubbf8 \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uc5f0\uacb0\uc744 \ubc29\ud574\ud558\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4. @@ -293,8 +294,8 @@ MILD_ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=\uc774 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc5d0\uc11c StartTLS\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574 TLS \uc5f0\uacb0 \ubcf4\uc548 \uacf5\uae09\uc790\ub97c \ub9cc\ub4dc\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s MILD_ERR_LDAP_TLS_NO_PROVIDER_274=\uc5f0\uacb0\uc5d0\uc11c TLS \uc5f0\uacb0 \ubcf4\uc548 \uacf5\uae09\uc790\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc774 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc5d0\uc11c StartTLS\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. MILD_ERR_LDAP_TLS_CLOSURE_NOT_ALLOWED_275=LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uc5d0\uc11c\ub294 \uae30\ubcf8 TCP \uc5f0\uacb0\uc774 \ud65c\uc131\ud654\ub41c \uc0c1\ud0dc\uc5d0\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5f0\uacb0\uc758 StartTLS \uc138\uc158\uc744 \ub2eb\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. TCP \uc5f0\uacb0\uc774 \ub2eb\ud799\ub2c8\ub2e4. NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=%s\uc5d0\uc11c \uc0c8 \uc5f0\uacb0 \uc218\uc2e0\uc744 \uc2dc\uc791\ud588\uc2b5\ub2c8\ub2e4. NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=%s\uc5d0\uc11c \uc0c8 \uc5f0\uacb0 \uc218\uc2e0\uc744 \uc911\uc9c0\ud588\uc2b5\ub2c8\ub2e4. NOTICE_CONNHANDLER_STARTED_LISTENING_276=%s\uc5d0\uc11c \uc0c8 \uc5f0\uacb0 \uc218\uc2e0\uc744 \uc2dc\uc791\ud588\uc2b5\ub2c8\ub2e4. NOTICE_CONNHANDLER_STOPPED_LISTENING_277=%s\uc5d0\uc11c \uc0c8 \uc5f0\uacb0 \uc218\uc2e0\uc744 \uc911\uc9c0\ud588\uc2b5\ub2c8\ub2e4. MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=\uc694\uc18c\uac00 null\uc774\uae30 \ub54c\ubb38\uc5d0 \uc81c\uacf5\ub41c ASN.1 \uc694\uc18c\ub97c LDAP \ud398\uc774\uc9c0 \uacb0\uacfc \uc81c\uc5b4 \uac12\uc73c\ub85c \ud574\ub3c5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. MILD_ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=\uc694\uc18c\ub97c \uc2dc\ud000\uc2a4\ub85c \ud574\ub3c5\ud558\uc9c0 \ubabb\ud588\uae30 \ub54c\ubb38\uc5d0 \uc81c\uacf5\ub41c ASN.1 \uc694\uc18c\ub97c LDAP \ud398\uc774\uc9c0 \uacb0\uacfc \uc81c\uc5b4 \uac12\uc73c\ub85c \ud574\ub3c5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT_280=\uc694\uccad \uc2dc\ud000\uc2a4\uc5d0 \uc798\ubabb\ub41c \uc694\uc18c \uc218\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0(2\uc5ec\uc57c \ud558\ub294\ub370 %d\uc784) \uc81c\uacf5\ub41c ASN.1 \uc694\uc18c\ub97c LDAP \ud398\uc774\uc9c0 \uacb0\uacfc \uc81c\uc5b4 \uac12\uc73c\ub85c \ud574\ub3c5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. @@ -449,8 +450,7 @@ MILD_ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=\uc81c\uacf5\ub41c \uac80\uc0c9 \ud544\ud130\uc5d0 \uc704\uce58 %3$d\uc5d0 \uc798\ubabb\ub41c \ubb38\uc790 '%2$s'\uc774(\uac00) \uc788\ub294 \uc798\ubabb\ub41c \uc18d\uc131 \uc720\ud615 '%1$s'\uc774(\uac00) \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. MILD_ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=\uc704\uce58 %2$d\uc5d0\uc11c \uc2dc\uc791\ud558\ub294 \ud655\uc7a5 \uac00\ub2a5\ud55c \uc77c\uce58 \uad6c\uc131\uc694\uc18c\uc5d0 \uc18d\uc131 \uc124\uba85 \ub610\ub294 \uc77c\uce58 \uaddc\uce59 \uc544\uc774\ub514\uac00 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc81c\uacf5\ub41c \uac80\uc0c9 \ud544\ud130 \"%1$s\"\uc744(\ub97c) \ud574\ub3c5\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uc911 \ud558\ub098 \uc774\uc0c1\uc744 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4. MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=LDAPv2 \ud074\ub77c\uc774\uc5b8\ud2b8\ub294 \uc694\uccad \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c LDAP \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 %s:%d\uc5d0 \ubc14\uc778\ub4dc\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c JMX \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 \ud3ec\ud2b8 %d\uc5d0 \ubc14\uc778\ub4dc\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=\uad6c\uc131 \ud56d\ubaa9 %s\uc5d0 \uc815\uc758\ub41c %s \uc5f0\uacb0 \ucc98\ub9ac\uae30\uac00 %s:%d\uc5d0 \ubc14\uc778\ub4dc\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=JMX\ub97c \ud1b5\ud574 \ucd94\uac00 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub294 \ucda9\ubd84\ud55c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=JMX\ub97c \ud1b5\ud574 \uc0ad\uc81c \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub294 \ucda9\ubd84\ud55c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. MILD_ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=JMX\ub97c \ud1b5\ud574 \uc218\uc815 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub294 \ucda9\ubd84\ud55c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. opends/src/messages/messages/protocol_pl.properties
@@ -1,3 +1,3 @@ INFO_LDIF_CONNHANDLER_RESULT_CODE_450=Kod Rezultatu: %d (%s) NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=Rozpocz\u0119to nas\u0142uchiwanie nowych po\u0142\u0105cze\u0144 na %s NOTICE_CONNHANDLER_STARTED_LISTENING_276=Rozpocz\u0119to nas\u0142uchiwanie nowych po\u0142\u0105cze\u0144 na %s INFO_LDIF_CONNHANDLER_MATCHED_DN_452=Pasuj\u0105ce DN: %s opends/src/messages/messages/protocol_zh_CN.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -197,9 +198,9 @@ FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 LDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u65e0\u6cd5\u6253\u5f00\u5141\u8bb8\u5176\u591a\u8def\u590d\u7528\u76f8\u5173\u7684\u63a5\u53d7\u5957\u63a5\u5b57\u7684\u9009\u5b9a\u5668: %s\u3002\u5c06\u7981\u7528\u8be5\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f SEVERE_ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 LDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u65e0\u6cd5\u521b\u5efa\u670d\u52a1\u5668\u5957\u63a5\u5b57\u901a\u9053\u4ee5\u63a5\u53d7 %s:%d \u4e0a\u7684\u8fde\u63a5: %s\u3002\u76ee\u5f55\u670d\u52a1\u5668\u5c06\u65e0\u6cd5\u4fa6\u542c\u8be5\u5730\u5740\u4e0a\u7684\u65b0\u8fde\u63a5 FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 LDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u65e0\u6cd5\u5728\u4efb\u4f55\u5df2\u914d\u7f6e\u7684\u5730\u5740\u4e0a\u521b\u5efa\u4efb\u4f55\u5957\u63a5\u5b57\u901a\u9053\u3002\u5c06\u7981\u7528\u8be5\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=\u5df2\u62d2\u7edd\u4ece\u5ba2\u6237\u7aef %s \u5230 %s \u7684\u8fde\u63a5\u5c1d\u8bd5\uff0c\u56e0\u4e3a\u8be5\u5ba2\u6237\u7aef\u5305\u542b\u5728\u67d0\u4e2a\u62d2\u7edd\u7684\u5730\u5740\u8303\u56f4\u5185 MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=\u5df2\u62d2\u7edd\u4ece\u5ba2\u6237\u7aef %s \u5230 %s \u7684\u8fde\u63a5\u5c1d\u8bd5\uff0c\u56e0\u4e3a\u8be5\u5ba2\u6237\u7aef\u4e0d\u5305\u542b\u5728\u67d0\u4e2a\u5141\u8bb8\u7684\u5730\u5740\u8303\u56f4\u5185 INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\u51fa\u73b0\u5185\u90e8\u9519\u8bef\uff0c\u5bfc\u81f4\u76ee\u5f55\u670d\u52a1\u5668\u65e0\u6cd5\u5728\u76f8\u5e94\u7684\u8bf7\u6c42\u5904\u7406\u7a0b\u5e8f\u4e2d\u6b63\u786e\u6ce8\u518c\u4ece %s \u5230 %s \u7684\u5ba2\u6237\u7aef\u8fde\u63a5: %s MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=\u5df2\u62d2\u7edd\u4ece\u5ba2\u6237\u7aef %s \u5230 %s \u7684\u8fde\u63a5\u5c1d\u8bd5\uff0c\u56e0\u4e3a\u8be5\u5ba2\u6237\u7aef\u5305\u542b\u5728\u67d0\u4e2a\u62d2\u7edd\u7684\u5730\u5740\u8303\u56f4\u5185 MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=\u5df2\u62d2\u7edd\u4ece\u5ba2\u6237\u7aef %s \u5230 %s \u7684\u8fde\u63a5\u5c1d\u8bd5\uff0c\u56e0\u4e3a\u8be5\u5ba2\u6237\u7aef\u4e0d\u5305\u542b\u5728\u67d0\u4e2a\u5141\u8bb8\u7684\u5730\u5740\u8303\u56f4\u5185 INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\u51fa\u73b0\u5185\u90e8\u9519\u8bef\uff0c\u5bfc\u81f4\u76ee\u5f55\u670d\u52a1\u5668\u65e0\u6cd5\u5728\u76f8\u5e94\u7684\u8bf7\u6c42\u5904\u7406\u7a0b\u5e8f\u4e2d\u6b63\u786e\u6ce8\u518c\u4ece %s \u5230 %s \u7684\u5ba2\u6237\u7aef\u8fde\u63a5: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 LDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u65e0\u6cd5\u63a5\u53d7\u65b0\u7684\u5ba2\u6237\u7aef\u8fde\u63a5: %s FATAL_ERR_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 LDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u5728\u5c1d\u8bd5\u63a5\u53d7\u5ba2\u6237\u7aef\u8fde\u63a5\u65f6\u8fde\u7eed\u5931\u8d25: %s\u3002\u5c06\u7981\u7528\u8be5\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 LDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u5728\u5c1d\u8bd5\u4fa6\u542c\u65b0\u8fde\u63a5\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef: %s\u3002\u5c06\u7981\u7528\u8be5\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f @@ -231,7 +232,7 @@ MILD_ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=\u8fde\u63a5 ID \u4e3a %d \u7684\u5ba2\u6237\u7aef\u4f7f\u7528 LDAPv2 \u8fdb\u884c\u4e86\u76ee\u5f55\u670d\u52a1\u5668\u9a8c\u8bc1\uff0c\u4f46\u5176\u5c1d\u8bd5\u53d1\u9001 LDAPv2 \u5ba2\u6237\u7aef\u4e0d\u5141\u8bb8\u4f7f\u7528\u7684\u6269\u5c55\u64cd\u4f5c\u8bf7\u6c42\uff08LDAP \u6d88\u606f ID %d\uff09\u3002\u5c06\u7ec8\u6b62\u8be5\u8fde\u63a5 MILD_ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=\u5df2\u5c1d\u8bd5\u6309\u7167\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684\u65b9\u5f0f\u521d\u59cb\u5316 LDAP \u7edf\u8ba1\u4fe1\u606f\u76d1\u89c6\u5668\u63d0\u4f9b\u7a0b\u5e8f\u3002\u53ea\u5e94\u5728\u76ee\u5f55\u670d\u52a1\u5668\u672c\u8eab\u4e2d\u52a8\u6001\u521b\u5efa\u6b64\u76d1\u89c6\u5668\u63d0\u4f9b\u7a0b\u5e8f\uff0c\u800c\u4e0d\u662f\u4ece\u914d\u7f6e\u4e2d\u8fdb\u884c\u521b\u5efa SEVERE_ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=LDAP \u8bf7\u6c42\u5904\u7406\u7a0b\u5e8f\u7ebf\u7a0b "%s" \u51fa\u73b0\u610f\u5916\u9519\u8bef\uff0c\u8be5\u9519\u8bef\u4f1a\u5bfc\u81f4\u7ebf\u7a0b\u7ec8\u6b62: %s\u3002\u5df2\u6355\u83b7\u8be5\u9519\u8bef\uff0c\u8bf7\u6c42\u5904\u7406\u7a0b\u5e8f\u5e94\u7ee7\u7eed\u6b63\u5e38\u5de5\u4f5c MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=\u5c1d\u8bd5\u5728\u76ee\u5f55\u670d\u52a1\u5668\u4e2d\u6ce8\u518c\u6b64\u8fde\u63a5\u7684\u64cd\u4f5c\u88ab\u62d2\u7edd\u3002\u8fd9\u53ef\u80fd\u8868\u793a\u8be5\u670d\u52a1\u5668\u5df2\u8bbe\u5b9a\u4e86\u5141\u8bb8\u7684\u6700\u5927\u5e76\u53d1\u8fde\u63a5\u6570\uff0c\u6216\u8005\u8be5\u670d\u52a1\u5668\u5904\u4e8e\u53d7\u9650\u8bbf\u95ee\u6a21\u5f0f MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=\u5c1d\u8bd5\u5728\u76ee\u5f55\u670d\u52a1\u5668\u4e2d\u6ce8\u518c\u6b64\u8fde\u63a5\u7684\u64cd\u4f5c\u88ab\u62d2\u7edd\u3002\u8fd9\u53ef\u80fd\u8868\u793a\u8be5\u670d\u52a1\u5668\u5df2\u8bbe\u5b9a\u4e86\u5141\u8bb8\u7684\u6700\u5927\u5e76\u53d1\u8fde\u63a5\u6570\uff0c\u6216\u8005\u8be5\u670d\u52a1\u5668\u5904\u4e8e\u53d7\u9650\u8bbf\u95ee\u6a21\u5f0f INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS_215=\u6b64\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u53ef\u7528\u4e8e\u63a5\u53d7\u5ba2\u6237\u7aef\u8fde\u63a5\u7684\u4e00\u4e2a\u6216\u4e00\u7ec4\u5730\u5740\u3002\u5982\u679c\u672a\u6307\u5b9a\u4efb\u4f55\u503c\uff0c\u5219\u670d\u52a1\u5668\u5c06\u63a5\u53d7\u6240\u6709\u6d3b\u52a8\u5730\u5740\u4e0a\u7684\u8fde\u63a5\u3002\u5728\u7981\u7528\u5e76\u91cd\u65b0\u542f\u7528\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u6216\u91cd\u65b0\u542f\u52a8\u76ee\u5f55\u670d\u52a1\u5668\u540e\uff0c\u5bf9\u6b64\u914d\u7f6e\u5c5e\u6027\u6240\u505a\u7684\u66f4\u6539\u624d\u4f1a\u751f\u6548 INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=\u6b64\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u53ef\u7528\u4e8e\u63a5\u53d7\u5ba2\u6237\u7aef\u8fde\u63a5\u7684 TCP \u7aef\u53e3\u3002\u5728\u7981\u7528\u5e76\u91cd\u65b0\u542f\u7528\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u6216\u91cd\u65b0\u542f\u52a8\u76ee\u5f55\u670d\u52a1\u5668\u540e\uff0c\u5bf9\u6b64\u914d\u7f6e\u5c5e\u6027\u6240\u505a\u7684\u66f4\u6539\u624d\u4f1a\u751f\u6548 INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS_217=\u6307\u5b9a\u4e00\u7ec4\u5730\u5740\u63a9\u7801\uff0c\u53ef\u7528\u4e8e\u786e\u5b9a\u5141\u8bb8\u4e0e\u6b64\u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u5efa\u7acb\u8fde\u63a5\u7684\u5ba2\u6237\u7aef\u5730\u5740\u3002\u5982\u679c\u672a\u6307\u5b9a\u4efb\u4f55\u503c\uff0c\u5219\u5c06\u5141\u8bb8\u4f7f\u7528\u5176\u5730\u5740\u4e0e\u62d2\u7edd\u5217\u8868\u4e2d\u7684\u5730\u5740\u4e0d\u5339\u914d\u7684\u6240\u6709\u5ba2\u6237\u7aef\u3002\u5bf9\u6b64\u914d\u7f6e\u5c5e\u6027\u6240\u505a\u7684\u66f4\u6539\u5c06\u7acb\u5373\u751f\u6548\uff0c\u4f46\u4e0d\u4f1a\u5f71\u54cd\u53ef\u80fd\u5df2\u5efa\u7acb\u7684\u8fde\u63a5 @@ -293,8 +294,8 @@ MILD_ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=\u5728\u5c1d\u8bd5\u4e3a\u6b64\u5ba2\u6237\u7aef\u8fde\u63a5\u521b\u5efa TLS \u8fde\u63a5\u5b89\u5168\u63d0\u4f9b\u7a0b\u5e8f\u4ee5\u7528\u4e8e StartTLS \u65f6\u51fa\u73b0\u9519\u8bef: %s MILD_ERR_LDAP_TLS_NO_PROVIDER_274=StartTLS \u5728\u6b64\u5ba2\u6237\u7aef\u8fde\u63a5\u4e0a\u4e0d\u53ef\u7528\uff0c\u56e0\u4e3a\u8be5\u8fde\u63a5\u6ca1\u6709 TLS \u8fde\u63a5\u5b89\u5168\u63d0\u4f9b\u7a0b\u5e8f\u7684\u8bbf\u95ee\u6743\u9650 MILD_ERR_LDAP_TLS_CLOSURE_NOT_ALLOWED_275=\u5728\u5c06\u57fa\u7840 TCP \u8fde\u63a5\u4fdd\u6301\u6d3b\u52a8\u72b6\u6001\u65f6\uff0cLDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u4e0d\u5141\u8bb8\u5ba2\u6237\u7aef\u5173\u95ed\u5ba2\u6237\u7aef\u8fde\u63a5\u4e0a\u7684 StartTLS \u4f1a\u8bdd\u3002\u5c06\u5173\u95ed TCP \u8fde\u63a5 NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=\u5df2\u5f00\u59cb\u4fa6\u542c %s \u4e0a\u7684\u65b0\u8fde\u63a5 NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=\u5df2\u505c\u6b62\u4fa6\u542c %s \u4e0a\u7684\u65b0\u8fde\u63a5 NOTICE_CONNHANDLER_STARTED_LISTENING_276=\u5df2\u5f00\u59cb\u4fa6\u542c %s \u4e0a\u7684\u65b0\u8fde\u63a5 NOTICE_CONNHANDLER_STOPPED_LISTENING_277=\u5df2\u505c\u6b62\u4fa6\u542c %s \u4e0a\u7684\u65b0\u8fde\u63a5 MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=\u65e0\u6cd5\u5c06\u63d0\u4f9b\u7684 ASN.1 \u5143\u7d20\u89e3\u7801\u4e3a LDAP \u5206\u9875\u7ed3\u679c\u63a7\u5236\u503c\uff0c\u56e0\u4e3a\u8be5\u5143\u7d20\u4e3a Null MILD_ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=\u65e0\u6cd5\u5c06\u63d0\u4f9b\u7684 ASN.1 \u5143\u7d20\u89e3\u7801\u4e3a LDAP \u5206\u9875\u7ed3\u679c\u63a7\u5236\u503c\uff0c\u56e0\u4e3a\u8be5\u5143\u7d20\u4e0d\u80fd\u89e3\u7801\u4e3a\u5e8f\u5217: %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT_280=\u65e0\u6cd5\u5c06\u63d0\u4f9b\u7684 ASN.1 \u5143\u7d20\u89e3\u7801\u4e3a LDAP \u5206\u9875\u7ed3\u679c\u63a7\u5236\u503c\uff0c\u56e0\u4e3a\u8bf7\u6c42\u5e8f\u5217\u5177\u6709\u65e0\u6548\u7684\u5143\u7d20\u6570\uff08\u5e94\u8be5\u4e3a 2 \u4e2a\uff0c\u5b9e\u9645\u4e3a %d \u4e2a\uff09 @@ -449,8 +450,7 @@ MILD_ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=\u63d0\u4f9b\u7684\u641c\u7d22\u8fc7\u6ee4\u5668\u5305\u542b\u65e0\u6548\u7684\u5c5e\u6027\u7c7b\u578b '%1$s'\uff0c\u8be5\u7c7b\u578b\u5728\u4f4d\u7f6e %3$d \u5904\u5177\u6709\u65e0\u6548\u5b57\u7b26 '%2$s' MILD_ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=\u65e0\u6cd5\u5bf9\u63d0\u4f9b\u7684\u641c\u7d22\u8fc7\u6ee4\u5668 "%s" \u8fdb\u884c\u89e3\u7801\uff0c\u56e0\u4e3a\u4ece\u4f4d\u7f6e %d \u5904\u5f00\u59cb\u7684\u53ef\u6269\u5c55\u5339\u914d\u7ec4\u4ef6\u4e0d\u5305\u542b\u5c5e\u6027\u63cf\u8ff0\u6216\u5339\u914d\u89c4\u5219 ID\u3002\u5fc5\u987b\u81f3\u5c11\u63d0\u4f9b\u5176\u4e2d\u4e00\u9879 MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=LDAPv2 \u5ba2\u6237\u7aef\u4e0d\u5141\u8bb8\u4f7f\u7528\u8bf7\u6c42\u63a7\u5236 SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 LDAP \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u65e0\u6cd5\u7ed1\u5b9a\u5230 %s:%d: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 JMX \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u65e0\u6cd5\u7ed1\u5b9a\u5230\u7aef\u53e3 %d: %s SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=\u914d\u7f6e\u6761\u76ee %s \u4e2d\u5b9a\u4e49\u7684 %s \u8fde\u63a5\u5904\u7406\u7a0b\u5e8f\u65e0\u6cd5\u7ed1\u5b9a\u5230 %s:%d: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=\u60a8\u6ca1\u6709\u8db3\u591f\u7684\u6743\u9650\u6765\u901a\u8fc7 JMX \u6267\u884c\u6dfb\u52a0\u64cd\u4f5c MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=\u60a8\u6ca1\u6709\u8db3\u591f\u7684\u6743\u9650\u6765\u901a\u8fc7 JMX \u6267\u884c\u5220\u9664\u64cd\u4f5c MILD_ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=\u60a8\u6ca1\u6709\u8db3\u591f\u7684\u6743\u9650\u6765\u901a\u8fc7 JMX \u6267\u884c\u4fee\u6539\u64cd\u4f5c opends/src/messages/messages/protocol_zh_TW.properties
@@ -21,6 +21,7 @@ # CDDL HEADER END # # Copyright 2006-2009 Sun Microsystems, Inc. # Portions copyright 2013 ForgeRock AS @@ -197,9 +198,9 @@ FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u7121\u6cd5\u958b\u555f\u9078\u64c7\u5668\uff0c\u4f7f\u5176\u8b93\u95dc\u806f\u7684\u63a5\u53d7\u901a\u8a0a\u7aef\u591a\u5de5\u5316: %s\u3002\u6b64\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u5c07\u6703\u505c\u7528 SEVERE_ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u7121\u6cd5\u5efa\u7acb\u4f3a\u670d\u5668\u901a\u8a0a\u7aef\u901a\u9053\uff0c\u4ee5\u63a5\u53d7 %s:%d \u4e0a\u7684\u9023\u7dda: %s\u3002\u76ee\u9304\u4f3a\u670d\u5668\u5c07\u4e0d\u6703\u5075\u807d\u8a72\u4f4d\u5740\u4e0a\u7684\u65b0\u9023\u7dda FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u7121\u6cd5\u5728\u4efb\u4f55\u5df2\u914d\u7f6e\u7684\u4f4d\u5740\u4e0a\uff0c\u5efa\u7acb\u4efb\u4f55\u901a\u8a0a\u7aef\u901a\u9053\u3002\u6b64\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u5c07\u6703\u505c\u7528 MILD_ERR_LDAP_CONNHANDLER_DENIED_CLIENT_180=\u5f9e\u7528\u6236\u7aef %s \u81f3 %s \u7684\u9023\u7dda\u5617\u8a66\u5df2\u88ab\u62d2\u7d55\uff0c\u56e0\u70ba\u8a72\u7528\u6236\u7aef\u5df2\u88ab\u7d0d\u5165\u62d2\u7d55\u7684\u4f4d\u5740\u7bc4\u570d\u4e4b\u4e00 MILD_ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT_181=\u5f9e\u7528\u6236\u7aef %s \u81f3 %s \u7684\u9023\u7dda\u5617\u8a66\u5df2\u88ab\u62d2\u7d55\uff0c\u56e0\u70ba\u8a72\u7528\u6236\u7aef\u4e26\u672a\u7d0d\u5165\u5141\u8a31\u7684\u4f4d\u5740\u7bc4\u570d\u4e4b\u4e00 INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\u767c\u751f\u5167\u90e8\u932f\u8aa4\uff0c\u4f7f\u76ee\u9304\u4f3a\u670d\u5668\u7121\u6cd5\u4ee5\u9069\u7576\u7684\u8acb\u6c42\u8655\u7406\u7a0b\u5f0f\u6b63\u78ba\u8a3b\u518a %s \u81f3 %s \u7684\u7528\u6236\u7aef\u9023\u7dda: %s MILD_ERR_CONNHANDLER_DENIED_CLIENT_180=\u5f9e\u7528\u6236\u7aef %s \u81f3 %s \u7684\u9023\u7dda\u5617\u8a66\u5df2\u88ab\u62d2\u7d55\uff0c\u56e0\u70ba\u8a72\u7528\u6236\u7aef\u5df2\u88ab\u7d0d\u5165\u62d2\u7d55\u7684\u4f4d\u5740\u7bc4\u570d\u4e4b\u4e00 MILD_ERR_CONNHANDLER_DISALLOWED_CLIENT_181=\u5f9e\u7528\u6236\u7aef %s \u81f3 %s \u7684\u9023\u7dda\u5617\u8a66\u5df2\u88ab\u62d2\u7d55\uff0c\u56e0\u70ba\u8a72\u7528\u6236\u7aef\u4e26\u672a\u7d0d\u5165\u5141\u8a31\u7684\u4f4d\u5740\u7bc4\u570d\u4e4b\u4e00 INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=\u767c\u751f\u5167\u90e8\u932f\u8aa4\uff0c\u4f7f\u76ee\u9304\u4f3a\u670d\u5668\u7121\u6cd5\u4ee5\u9069\u7576\u7684\u8acb\u6c42\u8655\u7406\u7a0b\u5f0f\u6b63\u78ba\u8a3b\u518a %s \u81f3 %s \u7684\u7528\u6236\u7aef\u9023\u7dda: %s MILD_ERR_LDAP_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u7121\u6cd5\u63a5\u53d7\u65b0\u7684\u7528\u6236\u7aef\u9023\u7dda: %s FATAL_ERR_LDAP_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u5728\u5617\u8a66\u63a5\u53d7\u7528\u6236\u7aef\u9023\u7dda\u6642\u9023\u7e8c\u5931\u6557\u6578\u6b21: %s\u3002\u6b64\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u5c07\u6703\u505c\u7528 FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u5728\u5617\u8a66\u5075\u807d\u65b0\u9023\u7dda\u6642\uff0c\u767c\u751f\u672a\u9810\u671f\u7684\u932f\u8aa4: %s\u3002\u6b64\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u5c07\u6703\u505c\u7528 @@ -231,7 +232,7 @@ MILD_ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=\u9023\u7dda ID \u70ba %d \u7684\u7528\u6236\u7aef\u5df2\u4f7f\u7528 LDAPv2 \u5c0d\u76ee\u9304\u4f3a\u670d\u5668\u9032\u884c\u8a8d\u8b49\uff0c\u4f46\u5617\u8a66\u50b3\u9001 LDAPv2 \u7528\u6236\u7aef\u6240\u4e0d\u5141\u8a31\u7684\u5ef6\u4f38\u4f5c\u696d\u8acb\u6c42 (LDAP \u8a0a\u606f ID %d)\u3002\u9023\u7dda\u5c07\u6703\u7d42\u6b62 MILD_ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=\u5617\u8a66\u4f9d\u914d\u7f6e\u9805\u76ee %s \u4e2d\u7684\u5b9a\u7fa9\u521d\u59cb\u5316 LDAP \u7d71\u8a08\u986f\u793a\u5668\u63d0\u4f9b\u8005\u3002\u6b64\u986f\u793a\u5668\u63d0\u4f9b\u8005\u53ea\u80fd\u5728\u76ee\u9304\u4f3a\u670d\u5668\u672c\u8eab\u4e4b\u4e2d\u52d5\u614b\u5efa\u7acb\uff0c\u800c\u4e0d\u61c9\u5f9e\u914d\u7f6e\u5167\u5efa\u7acb SEVERE_ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=LDAP \u8acb\u6c42\u8655\u7406\u7a0b\u5f0f\u57f7\u884c\u7dd2\u300c%s\u300d\u767c\u751f\u6703\u5c0e\u81f4\u57f7\u884c\u7dd2\u5931\u6548\u7684\u672a\u9810\u671f\u932f\u8aa4: %s\u3002\u5df2\u767c\u751f\u932f\u8aa4\uff0c\u4f46\u8acb\u6c42\u8655\u7406\u7a0b\u5f0f\u61c9\u6703\u7e7c\u7e8c\u6b63\u5e38\u904b\u4f5c MILD_ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER_214=\u5617\u8a66\u5c0d\u76ee\u9304\u4f3a\u670d\u5668\u8a3b\u518a\u6b64\u9023\u7dda\u7684\u4f5c\u696d\u5df2\u906d\u62d2\u7d55\u3002\u9019\u53ef\u80fd\u8868\u793a\u4f3a\u670d\u5668\u5df2\u5efa\u7acb\u7684\u540c\u6b65\u904b\u4f5c\u9023\u7dda\u6578\u5df2\u9054\u5141\u8a31\u4e0a\u9650\uff0c\u6216\u4f3a\u670d\u5668\u8655\u65bc\u53d7\u9650\u5236\u7684\u5b58\u53d6\u6a21\u5f0f\u4e2d MILD_ERR_CONNHANDLER_REJECTED_BY_SERVER_214=\u5617\u8a66\u5c0d\u76ee\u9304\u4f3a\u670d\u5668\u8a3b\u518a\u6b64\u9023\u7dda\u7684\u4f5c\u696d\u5df2\u906d\u62d2\u7d55\u3002\u9019\u53ef\u80fd\u8868\u793a\u4f3a\u670d\u5668\u5df2\u5efa\u7acb\u7684\u540c\u6b65\u904b\u4f5c\u9023\u7dda\u6578\u5df2\u9054\u5141\u8a31\u4e0a\u9650\uff0c\u6216\u4f3a\u670d\u5668\u8655\u65bc\u53d7\u9650\u5236\u7684\u5b58\u53d6\u6a21\u5f0f\u4e2d INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_ADDRESS_215=\u6b64\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u53ef\u5f9e\u4e2d\u63a5\u53d7\u7528\u6236\u7aef\u9023\u7dda\u7684\u4f4d\u5740\u6216\u4f4d\u5740\u7d44\u3002\u82e5\u672a\u6307\u5b9a\u4efb\u4f55\u503c\uff0c\u4f3a\u670d\u5668\u5c07\u6703\u63a5\u53d7\u6240\u6709\u4f7f\u7528\u4e2d\u4f4d\u5740\u4e0a\u7684\u9023\u7dda\u3002\u6b64\u914d\u7f6e\u5c6c\u6027\u7684\u8b8a\u66f4\u5fc5\u9808\u5728\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u505c\u7528\u4e26\u91cd\u65b0\u555f\u7528\u5f8c\uff0c\u6216\u5728\u76ee\u9304\u4f3a\u670d\u5668\u91cd\u65b0\u555f\u52d5\u5f8c\uff0c\u624d\u6703\u751f\u6548 INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=\u6b64\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u53ef\u5f9e\u4e2d\u63a5\u53d7\u7528\u6236\u7aef\u9023\u7dda\u7684 TCP \u9023\u63a5\u57e0\u3002\u6b64\u914d\u7f6e\u5c6c\u6027\u7684\u8b8a\u66f4\u5fc5\u9808\u5728\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u505c\u7528\u4e26\u91cd\u65b0\u555f\u7528\u5f8c\uff0c\u6216\u5728\u76ee\u9304\u4f3a\u670d\u5668\u91cd\u65b0\u555f\u52d5\u5f8c\uff0c\u624d\u6703\u751f\u6548 INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOWED_CLIENTS_217=\u6307\u5b9a\u4e00\u7d44\u4f4d\u5740\u906e\u7f69\uff0c\u7528\u4ee5\u5224\u5b9a\u53ef\u5c0d\u6b64\u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u5efa\u7acb\u9023\u7dda\u7684\u7528\u6236\u7aef\u4f4d\u5740\u3002\u82e5\u672a\u6307\u5b9a\u4efb\u4f55\u503c\uff0c\u5c07\u6703\u5141\u8a31\u4f4d\u5740\u672a\u5217\u65bc\u62d2\u7d55\u6e05\u55ae\u4e2d\u7684\u6240\u6709\u7528\u6236\u7aef\u3002\u6b64\u914d\u7f6e\u5c6c\u6027\u7684\u8b8a\u66f4\u5c07\u7acb\u5373\u751f\u6548\uff0c\u4f46\u5c07\u4e0d\u6703\u5f71\u97ff\u5230\u5df2\u5efa\u7acb\u7684\u9023\u7dda @@ -293,8 +294,8 @@ MILD_ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=\u5617\u8a66\u70ba\u6b64\u7528\u6236\u7aef\u9023\u7dda\u5efa\u7acb\u7528\u65bc StartTLS \u7684 TLS \u9023\u7dda\u5b89\u5168\u6027\u63d0\u4f9b\u8005\u6642\u767c\u751f\u932f\u8aa4: %s MILD_ERR_LDAP_TLS_NO_PROVIDER_274=StartTLS \u4e0d\u9069\u7528\u65bc\u6b64\u7528\u6236\u7aef\u9023\u7dda\uff0c\u56e0\u70ba\u6b64\u9023\u7dda\u6c92\u6709 TLS \u9023\u7dda\u5b89\u5168\u6027\u63d0\u4f9b\u8005\u7684\u5b58\u53d6\u6b0a MILD_ERR_LDAP_TLS_CLOSURE_NOT_ALLOWED_275=LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u4e0d\u5141\u8a31\u7528\u6236\u7aef\u95dc\u9589\u7528\u6236\u7aef\u9023\u7dda\u4e0a\u7684 StartTLS \u968e\u6bb5\u4f5c\u696d\uff0c\u4f46\u5c07\u57fa\u790e TCP \u9023\u7dda\u4fdd\u7559\u70ba\u4f7f\u7528\u4e2d\u3002TCP \u9023\u7dda\u5c07\u6703\u7d50\u675f NOTICE_LDAP_CONNHANDLER_STARTED_LISTENING_276=\u5df2\u958b\u59cb\u5728 %s \u4e0a\u5075\u807d\u65b0\u9023\u7dda NOTICE_LDAP_CONNHANDLER_STOPPED_LISTENING_277=\u5df2\u505c\u6b62\u5728 %s \u4e0a\u5075\u807d\u65b0\u9023\u7dda NOTICE_CONNHANDLER_STARTED_LISTENING_276=\u5df2\u958b\u59cb\u5728 %s \u4e0a\u5075\u807d\u65b0\u9023\u7dda NOTICE_CONNHANDLER_STOPPED_LISTENING_277=\u5df2\u505c\u6b62\u5728 %s \u4e0a\u5075\u807d\u65b0\u9023\u7dda MILD_ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=\u7121\u6cd5\u5c07\u63d0\u4f9b\u7684 ASN.1 \u5143\u7d20\u89e3\u78bc\u70ba LDAP \u5206\u9801\u7d50\u679c\u63a7\u5236\u503c\uff0c\u56e0\u70ba\u8a72\u5143\u7d20\u70ba\u7a7a MILD_ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=\u7121\u6cd5\u5c07\u63d0\u4f9b\u7684 ASN.1 \u5143\u7d20\u89e3\u78bc\u70ba LDAP \u5206\u9801\u7d50\u679c\u63a7\u5236\u503c\uff0c\u56e0\u70ba\u8a72\u5143\u7d20\u7121\u6cd5\u89e3\u78bc\u70ba\u5e8f\u5217: %s MILD_ERR_LDAP_PAGED_RESULTS_DECODE_INVALID_ELEMENT_COUNT_280=\u7121\u6cd5\u5c07\u63d0\u4f9b\u7684 ASN.1 \u5143\u7d20\u89e3\u78bc\u70ba LDAP \u5206\u9801\u7d50\u679c\u63a7\u5236\u503c\uff0c\u56e0\u70ba\u8acb\u6c42\u5e8f\u5217\u542b\u6709\u7121\u6548\u7684\u5143\u7d20\u6578\u76ee (\u61c9\u70ba 2\uff0c\u5be6\u969b\u70ba %d) @@ -449,8 +450,7 @@ MILD_ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=\u63d0\u4f9b\u7684\u641c\u5c0b\u7be9\u9078\u5668\u5728\u4f4d\u7f6e %3$d \u4e0a\u5305\u542b\u5177\u6709\u7121\u6548\u5b57\u5143\u300c%2$s\u300d\u7684\u7121\u6548\u5c6c\u6027\u985e\u578b\u300c%1$s\u300d MILD_ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=\u7121\u6cd5\u89e3\u78bc\u63d0\u4f9b\u7684\u641c\u5c0b\u7be9\u9078\u5668\u300c%s\u300d\uff0c\u56e0\u70ba\u5f9e\u4f4d\u7f6e %d \u958b\u59cb\u7684\u5ef6\u4f38\u76f8\u7b26\u5143\u4ef6\u4e0d\u5305\u542b\u5c6c\u6027\u8aaa\u660e\u6216\u76f8\u7b26\u7684\u898f\u5247 ID\u3002\u81f3\u5c11\u5fc5\u9808\u63d0\u4f9b\u5176\u4e2d\u4e00\u500b MILD_ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=LDAPv2 \u7528\u6236\u7aef\u7121\u6cd5\u4f7f\u7528\u8acb\u6c42\u63a7\u5236 SEVERE_ERR_LDAP_CONNHANDLER_CANNOT_BIND_432=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 LDAP \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u7121\u6cd5\u9023\u7d50\u81f3 %s:%d: %s SEVERE_ERR_JMX_CONNHANDLER_CANNOT_BIND_433=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 JMX \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u7121\u6cd5\u9023\u7d50\u81f3\u9023\u63a5\u57e0 %d: %s SEVERE_ERR_CONNHANDLER_CANNOT_BIND_432=\u914d\u7f6e\u9805\u76ee %s \u4e2d\u6240\u5b9a\u7fa9\u7684 %s \u9023\u7dda\u8655\u7406\u7a0b\u5f0f\u7121\u6cd5\u9023\u7d50\u81f3 %s:%d: %s MILD_ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=\u60a8\u6c92\u6709\u8db3\u5920\u7684\u6b0a\u9650\u53ef\u900f\u904e JMX \u57f7\u884c\u589e\u52a0\u4f5c\u696d MILD_ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=\u60a8\u6c92\u6709\u8db3\u5920\u7684\u6b0a\u9650\u53ef\u900f\u904e JMX \u57f7\u884c\u522a\u9664\u4f5c\u696d MILD_ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=\u60a8\u6c92\u6709\u8db3\u5920\u7684\u6b0a\u9650\u53ef\u900f\u904e JMX \u57f7\u884c\u4fee\u6539\u4f5c\u696d opends/src/server/org/opends/server/protocols/http/CollectClientConnectionsFilter.java
New file @@ -0,0 +1,167 @@ /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2013 ForgeRock AS */ package org.opends.server.protocols.http; import static org.opends.messages.ProtocolMessages.*; import static org.opends.server.loggers.ErrorLogger.*; import static org.opends.server.loggers.debug.DebugLogger.*; import static org.opends.server.util.StaticUtils.*; import java.net.InetAddress; import java.util.Collection; import java.util.Map; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.opends.messages.Message; import org.opends.server.admin.std.server.ConnectionHandlerCfg; import org.opends.server.api.ClientConnection; import org.opends.server.loggers.debug.DebugTracer; import org.opends.server.types.AddressMask; import org.opends.server.types.DebugLogLevel; import org.opends.server.types.DisconnectReason; /** * Servlet {@link Filter} that collects information about client connections. */ final class CollectClientConnectionsFilter implements Filter { /** The tracer object for the debug logger. */ private static final DebugTracer TRACER = getTracer(); /** The connection handler that created this servlet filter. */ private HTTPConnectionHandler connectionHandler; private final Map<ClientConnection, Void> clientConnections; /** * Constructs a new instance of this class. * * @param connectionHandler * the connection handler that accepted this connection * @param clientConnections * Map where to add new connections */ public CollectClientConnectionsFilter( HTTPConnectionHandler connectionHandler, Map<ClientConnection, Void> clientConnections) { this.connectionHandler = connectionHandler; this.clientConnections = clientConnections; } /** {@inheritDoc} */ @Override public void init(FilterConfig filterConfig) throws ServletException { // nothing to do } /** {@inheritDoc} */ @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) { final ClientConnection clientConnection = new HTTPClientConnection(this.connectionHandler, request); this.clientConnections.put(clientConnection, null); try { String ipAddress = request.getRemoteAddr(); InetAddress clientAddr = InetAddress.getByName(ipAddress); // Check to see if the core server rejected the // connection (e.g., already too many connections // established). if (clientConnection.getConnectionID() < 0) { // The connection will have already been closed. return; } // Check to see if the client is on the denied list. // If so, then reject it immediately. ConnectionHandlerCfg config = this.connectionHandler.getCurrentConfig(); Collection<AddressMask> allowedClients = config.getAllowedClient(); Collection<AddressMask> deniedClients = config.getDeniedClient(); if (!deniedClients.isEmpty() && AddressMask.maskListContains(clientAddr, deniedClients)) { clientConnection.disconnect(DisconnectReason.CONNECTION_REJECTED, false, ERR_CONNHANDLER_DENIED_CLIENT.get(clientConnection .getClientHostPort(), clientConnection.getServerHostPort())); return; } // Check to see if there is an allowed list and if // there is whether the client is on that list. If // not, then reject the connection. if (!allowedClients.isEmpty() && !AddressMask.maskListContains(clientAddr, allowedClients)) { clientConnection.disconnect(DisconnectReason.CONNECTION_REJECTED, false, ERR_CONNHANDLER_DISALLOWED_CLIENT.get(clientConnection .getClientHostPort(), clientConnection.getServerHostPort())); return; } // send the request further down the filter chain or pass to servlet chain.doFilter(request, response); } catch (Exception e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } Message message = INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT.get(clientConnection .getClientHostPort(), clientConnection.getServerHostPort(), getExceptionMessage(e)); logError(message); clientConnection .disconnect(DisconnectReason.SERVER_ERROR, false, message); } finally { this.clientConnections.remove(clientConnection); } } /** {@inheritDoc} */ @Override public void destroy() { // nothing to do } } opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java
New file @@ -0,0 +1,344 @@ /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2013 ForgeRock AS */ package org.opends.server.protocols.http; import static org.opends.messages.ProtocolMessages.*; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Collection; import javax.servlet.ServletRequest; import org.opends.messages.Message; import org.opends.messages.MessageBuilder; import org.opends.server.api.ClientConnection; import org.opends.server.api.ConnectionHandler; import org.opends.server.core.DirectoryServer; import org.opends.server.core.SearchOperation; import org.opends.server.extensions.TLSCapableConnection; import org.opends.server.types.CancelRequest; import org.opends.server.types.CancelResult; import org.opends.server.types.DN; import org.opends.server.types.DirectoryException; import org.opends.server.types.DisconnectReason; import org.opends.server.types.IntermediateResponse; import org.opends.server.types.Operation; import org.opends.server.types.SearchResultEntry; import org.opends.server.types.SearchResultReference; /** * This class defines an HTTP client connection, which is a type of client * connection that will be accepted by an instance of the HTTP connection * handler. */ final class HTTPClientConnection extends ClientConnection implements TLSCapableConnection { /** The reference to the connection handler that accepted this connection. */ private final HTTPConnectionHandler connectionHandler; /** The servlet request representing this client connection. */ private final ServletRequest request; /** The connection ID assigned to this connection. */ private final long connectionID; /** * Constructs an instance of this class. * * @param connectionHandler * the connection handler that accepted this connection * @param request * represents this client connection. */ public HTTPClientConnection(HTTPConnectionHandler connectionHandler, ServletRequest request) { this.connectionHandler = connectionHandler; this.request = request; this.connectionID = DirectoryServer.newConnectionAccepted(this); if (this.connectionID < 0) { disconnect(DisconnectReason.ADMIN_LIMIT_EXCEEDED, true, ERR_CONNHANDLER_REJECTED_BY_SERVER.get()); } } /** {@inheritDoc} */ @Override public long getConnectionID() { return connectionID; } /** {@inheritDoc} */ @Override public ConnectionHandler<?> getConnectionHandler() { return connectionHandler; } /** {@inheritDoc} */ @Override public String getProtocol() { return request.getProtocol(); } /** {@inheritDoc} */ @Override public String getClientAddress() { return request.getRemoteAddr(); } /** {@inheritDoc} */ @Override public int getClientPort() { return request.getRemotePort(); } /** {@inheritDoc} */ @Override public String getServerAddress() { return request.getLocalAddr(); } /** {@inheritDoc} */ @Override public int getServerPort() { return request.getLocalPort(); } /** {@inheritDoc} */ @Override public InetAddress getRemoteAddress() { try { return InetAddress.getByName(request.getRemoteAddr()); } catch (UnknownHostException e) { throw new RuntimeException("Should never happen", e); } } /** {@inheritDoc} */ @Override public InetAddress getLocalAddress() { try { return InetAddress.getByName(request.getLocalAddr()); } catch (UnknownHostException e) { throw new RuntimeException("Should never happen", e); } } /** {@inheritDoc} */ @Override public boolean isSecure() { return request.isSecure(); } /** {@inheritDoc} */ @Override public void sendResponse(Operation operation) { // TODO Auto-generated method stub } /** {@inheritDoc} */ @Override public void sendSearchEntry(SearchOperation searchOperation, SearchResultEntry searchEntry) throws DirectoryException { // TODO Auto-generated method stub } /** {@inheritDoc} */ @Override public boolean sendSearchReference(SearchOperation searchOperation, SearchResultReference searchReference) throws DirectoryException { // TODO Auto-generated method stub return false; } /** {@inheritDoc} */ @Override protected boolean sendIntermediateResponseMessage( IntermediateResponse intermediateResponse) { // TODO Auto-generated method stub return false; } /** {@inheritDoc} */ @Override public void disconnect(DisconnectReason disconnectReason, boolean sendNotification, Message message) { // TODO Auto-generated method stub } /** {@inheritDoc} */ @Override public Collection<Operation> getOperationsInProgress() { // TODO Auto-generated method stub return null; } /** {@inheritDoc} */ @Override public Operation getOperationInProgress(int messageID) { // TODO Auto-generated method stub return null; } /** {@inheritDoc} */ @Override public boolean removeOperationInProgress(int messageID) { // TODO Auto-generated method stub return false; } /** {@inheritDoc} */ @Override public CancelResult cancelOperation(int messageID, CancelRequest cancelRequest) { // TODO Auto-generated method stub return null; } /** {@inheritDoc} */ @Override public void cancelAllOperations(CancelRequest cancelRequest) { // TODO Auto-generated method stub } /** {@inheritDoc} */ @Override public void cancelAllOperationsExcept(CancelRequest cancelRequest, int messageID) { // TODO Auto-generated method stub } /** {@inheritDoc} */ @Override public long getNumberOfOperations() { // TODO Auto-generated method stub return 0; } /** {@inheritDoc} */ @Override public String getMonitorSummary() { StringBuilder buffer = new StringBuilder(); buffer.append("connID=\""); buffer.append(getConnectionID()); buffer.append("\" connectTime=\""); buffer.append(getConnectTimeString()); buffer.append("\" source=\""); buffer.append(getClientAddress()); buffer.append(":"); buffer.append(getClientPort()); buffer.append("\" destination=\""); buffer.append(getServerAddress()); buffer.append(":"); buffer.append(connectionHandler.getListenPort()); buffer.append("\" authDN=\""); DN authDN = getAuthenticationInfo().getAuthenticationDN(); if (authDN != null) { authDN.toString(buffer); } return buffer.toString(); } /** {@inheritDoc} */ @Override public void toString(StringBuilder buffer) { buffer.append("HTTP client connection from "); buffer.append(getClientAddress()).append(":").append(getClientPort()); buffer.append(" to "); buffer.append(getServerAddress()).append(":").append(getServerPort()); } /** {@inheritDoc} */ @Override public boolean prepareTLS(MessageBuilder unavailableReason) { // TODO JNR add message to mention that this client connection cannot start // TLS unavailableReason.append(INFO_HTTP_CONNHANDLER_STARTTLS_NOT_SUPPORTED); return false; } /** {@inheritDoc} */ @Override public int getSSF() { Object attribute = request.getAttribute("javax.servlet.request.key_size"); if (attribute instanceof Number) { return ((Number) attribute).intValue(); } else if (attribute instanceof String) { try { return Integer.parseInt((String) attribute); } catch (IllegalArgumentException e) { // TODO tracer debug } } return 0; } } opends/src/server/org/opends/server/protocols/http/HTTPConnectionHandler.java
New file @@ -0,0 +1,918 @@ /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2013 ForgeRock AS */ package org.opends.server.protocols.http; import static org.opends.messages.ProtocolMessages.*; import static org.opends.server.loggers.ErrorLogger.*; import static org.opends.server.loggers.debug.DebugLogger.*; import static org.opends.server.util.StaticUtils.*; import java.io.IOException; import java.net.InetAddress; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.EnumSet; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.servlet.DispatcherType; import javax.servlet.Filter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.glassfish.grizzly.http.server.HttpServer; import org.glassfish.grizzly.http.server.NetworkListener; import org.glassfish.grizzly.http.server.ServerConfiguration; import org.glassfish.grizzly.nio.transport.TCPNIOTransport; import org.glassfish.grizzly.servlet.FilterRegistration; import org.glassfish.grizzly.servlet.ServletRegistration; import org.glassfish.grizzly.servlet.WebappContext; import org.glassfish.grizzly.ssl.SSLEngineConfigurator; import org.opends.messages.Message; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.std.server.ConnectionHandlerCfg; import org.opends.server.admin.std.server.HTTPConnectionHandlerCfg; import org.opends.server.api.AlertGenerator; import org.opends.server.api.ClientConnection; import org.opends.server.api.ConnectionHandler; import org.opends.server.api.KeyManagerProvider; import org.opends.server.api.ServerShutdownListener; import org.opends.server.api.TrustManagerProvider; import org.opends.server.config.ConfigException; import org.opends.server.core.DirectoryServer; import org.opends.server.extensions.NullKeyManagerProvider; import org.opends.server.extensions.NullTrustManagerProvider; import org.opends.server.loggers.debug.DebugTracer; import org.opends.server.types.ConfigChangeResult; import org.opends.server.types.DN; import org.opends.server.types.DebugLogLevel; import org.opends.server.types.DirectoryException; import org.opends.server.types.HostPort; import org.opends.server.types.InitializationException; import org.opends.server.types.ResultCode; import org.opends.server.util.SelectableCertificateKeyManager; /** * This class defines a connection handler that will be used for communicating * with clients over HTTP. The connection handler is responsible for * starting/stopping the embedded web server. */ public class HTTPConnectionHandler extends ConnectionHandler<HTTPConnectionHandlerCfg> implements ConfigurationChangeListener<HTTPConnectionHandlerCfg>, ServerShutdownListener, AlertGenerator { /** * Fake Servlet. * <p> * TODO JNR remove when using REST2LDAP servlet */ private static final class FakeServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(req, resp); } } /** The tracer object for the debug logger. */ private static final DebugTracer TRACER = getTracer(); /** Default friendly name for this connection handler. */ private static final String DEFAULT_FRIENDLY_NAME = "HTTP Connection Handler"; /** SSL instance name used in context creation. */ private static final String SSL_CONTEXT_INSTANCE_NAME = "TLS"; /** The initialization configuration. */ private HTTPConnectionHandlerCfg initConfig; /** The current configuration. */ private HTTPConnectionHandlerCfg currentConfig; /** * Indicates whether the Directory Server is in the process of shutting down. */ private volatile boolean shutdownRequested; /** The set of listeners for this connection handler. */ private List<HostPort> listeners = new LinkedList<HostPort>(); /** The HTTP server embedded in OpenDJ. */ private HttpServer httpServer; /** * Holds the current client connections. Using {@link ConcurrentHashMap} to * ensure no concurrent reads/writes can happen and adds/removes are fast. * Using Void for the value since it has no use. */ private Map<ClientConnection, Void> clientConnections = new ConcurrentHashMap<ClientConnection, Void>(); /** The unique name assigned to this connection handler. */ private String handlerName; /** The protocol used by this connection handler. */ private String protocol; /** * The condition variable that will be used by the start method to wait for * the socket port to be opened and ready to process requests before * returning. */ private final Object waitListen = new Object(); /** * The friendly name of this connection handler. */ private String friendlyName; /** * SSL context. * * @see HTTPConnectionHandler#sslEngine */ private SSLContext sslContext; /** The SSL engine is used for obtaining default SSL parameters. */ private SSLEngine sslEngine; /** * Default constructor. It is invoked by reflection to create this * {@link ConnectionHandler}. */ public HTTPConnectionHandler() { super(DEFAULT_FRIENDLY_NAME); } /** {@inheritDoc} */ @Override public ConfigChangeResult applyConfigurationChange( HTTPConnectionHandlerCfg config) { // Create variables to include in the response. boolean adminActionRequired = false; List<Message> messages = new ArrayList<Message>(); if (anyChangeRequiresRestart(config)) { adminActionRequired = true; messages.add(ERR_CONNHANDLER_CONFIG_CHANGES_REQUIRE_RESTART.get("HTTP")); } // Reconfigure SSL if needed. try { configureSSL(config); } catch (DirectoryException e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } messages.add(e.getMessageObject()); return new ConfigChangeResult(e.getResultCode(), adminActionRequired, messages); } this.initConfig = config; this.currentConfig = config; return new ConfigChangeResult(ResultCode.SUCCESS, adminActionRequired, messages); } private boolean anyChangeRequiresRestart(HTTPConnectionHandlerCfg newCfg) { return !equals(newCfg.getListenPort(), initConfig.getListenPort()) || !equals(newCfg.getListenAddress(), initConfig.getListenAddress()) || !equals(newCfg.getMaxRequestSize(), currentConfig .getMaxRequestSize()) || !equals(newCfg.isAllowTCPReuseAddress(), currentConfig .isAllowTCPReuseAddress()) || !equals(newCfg.isUseTCPKeepAlive(), currentConfig .isUseTCPKeepAlive()) || !equals(newCfg.isUseTCPNoDelay(), currentConfig.isUseTCPNoDelay()) || !equals(newCfg.getMaxBlockedWriteTimeLimit(), currentConfig .getMaxBlockedWriteTimeLimit()) || !equals(newCfg.getBufferSize(), currentConfig.getBufferSize()) || !equals(newCfg.getAcceptBacklog(), currentConfig.getAcceptBacklog()) || !equals(newCfg.isUseSSL(), currentConfig.isUseSSL()) || !equals(newCfg.getKeyManagerProviderDN(), currentConfig .getKeyManagerProviderDN()) || !equals(newCfg.getSSLCertNickname(), currentConfig .getSSLCertNickname()) || !equals(newCfg.getTrustManagerProviderDN(), currentConfig .getTrustManagerProviderDN()) || !equals(newCfg.getSSLProtocol(), currentConfig.getSSLProtocol()) || !equals(newCfg.getSSLCipherSuite(), currentConfig .getSSLCipherSuite()) || !equals(newCfg.getSSLClientAuthPolicy(), currentConfig .getSSLClientAuthPolicy()); } private boolean equals(Object o1, Object o2) { if (o1 == null) { return o2 == null; } return o1.equals(o2); } private boolean equals(long l1, long l2) { return l1 == l2; } private boolean equals(boolean b1, boolean b2) { return b1 == b2; } private void configureSSL(HTTPConnectionHandlerCfg config) throws DirectoryException { protocol = config.isUseSSL() ? "HTTPS" : "HTTP"; if (config.isUseSSL()) { sslContext = createSSLContext(config); sslEngine = createSSLEngine(config, sslContext); } else { sslContext = null; sslEngine = null; } } /** {@inheritDoc} */ @Override public void finalizeConnectionHandler(Message finalizeReason) { shutdownRequested = true; // Unregister this as a change listener. currentConfig.removeHTTPChangeListener(this); // TODO JNR // if (connMonitor != null) // { // String lowerName = toLowerCase(connMonitor.getMonitorInstanceName()); // DirectoryServer.deregisterMonitorProvider(lowerName); // } // // if (statTracker != null) // { // String lowerName = toLowerCase(statTracker.getMonitorInstanceName()); // DirectoryServer.deregisterMonitorProvider(lowerName); // } } /** {@inheritDoc} */ @Override public LinkedHashMap<String, String> getAlerts() { // TODO Auto-generated method stub return null; } /** {@inheritDoc} */ @Override public String getClassName() { return HTTPConnectionHandler.class.getName(); } /** {@inheritDoc} */ @Override public Collection<ClientConnection> getClientConnections() { return clientConnections.keySet(); } /** {@inheritDoc} */ @Override public DN getComponentEntryDN() { return currentConfig.dn(); } /** {@inheritDoc} */ @Override public String getConnectionHandlerName() { return handlerName; } /** * Returns the current config of this connection handler. * * @return the current config of this connection handler */ HTTPConnectionHandlerCfg getCurrentConfig() { return this.currentConfig; } /** {@inheritDoc} */ @Override public Collection<String> getEnabledSSLCipherSuites() { final SSLEngine engine = sslEngine; if (engine != null) { return Arrays.asList(engine.getEnabledCipherSuites()); } return super.getEnabledSSLCipherSuites(); } /** {@inheritDoc} */ @Override public Collection<String> getEnabledSSLProtocols() { final SSLEngine engine = sslEngine; if (engine != null) { return Arrays.asList(engine.getEnabledProtocols()); } return super.getEnabledSSLProtocols(); } /** {@inheritDoc} */ @Override public Collection<HostPort> getListeners() { return listeners; } /** * Returns the listen port for this connection handler. * * @return the listen port for this connection handler. */ int getListenPort() { return this.initConfig.getListenPort(); } /** {@inheritDoc} */ @Override public String getProtocol() { return protocol; } /** * Returns the SSL engine configured for this connection handler if SSL is * enabled, null otherwise. * * @return the SSL engine if SSL is enabled, null otherwise */ SSLEngine getSSLEngine() { return sslEngine; } /** {@inheritDoc} */ @Override public String getShutdownListenerName() { return handlerName; } /** {@inheritDoc} */ @Override public void initializeConnectionHandler(HTTPConnectionHandlerCfg config) throws ConfigException, InitializationException { if (friendlyName == null) { friendlyName = config.dn().getRDN().getAttributeValue(0).toString(); } int listenPort = config.getListenPort(); for (InetAddress a : config.getListenAddress()) { listeners.add(new HostPort(a.getHostAddress(), listenPort)); } handlerName = getHandlerName(config); // Configure SSL if needed. try { configureSSL(config); } catch (DirectoryException e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } throw new InitializationException(e.getMessageObject()); } // TODO JNR // handle ds-cfg-keep-stats // handle ds-cfg-num-request-handlers?? // // Create and register monitors. // statTracker = new LDAPStatistics(handlerName + " Statistics"); // DirectoryServer.registerMonitorProvider(statTracker); // // connMonitor = new ClientConnectionMonitorProvider(this); // DirectoryServer.registerMonitorProvider(connMonitor); // Register this as a change listener. config.addHTTPChangeListener(this); this.initConfig = config; this.currentConfig = config; } private String getHandlerName(HTTPConnectionHandlerCfg config) { StringBuilder nameBuffer = new StringBuilder(); nameBuffer.append(friendlyName); for (InetAddress a : config.getListenAddress()) { nameBuffer.append(" "); nameBuffer.append(a.getHostAddress()); } nameBuffer.append(" port "); nameBuffer.append(config.getListenPort()); return nameBuffer.toString(); } /** {@inheritDoc} */ @Override public boolean isConfigurationAcceptable(ConnectionHandlerCfg configuration, List<Message> unacceptableReasons) { HTTPConnectionHandlerCfg config = (HTTPConnectionHandlerCfg) configuration; if ((currentConfig == null) || (!currentConfig.isEnabled() && config.isEnabled())) { // Attempt to bind to the listen port on all configured addresses to // verify whether the connection handler will be able to start. Message errorMessage = checkAnyListenAddressInUse(config.getListenAddress(), config .getListenPort(), config.isAllowTCPReuseAddress(), config.dn()); if (errorMessage != null) { unacceptableReasons.add(errorMessage); return false; } } if (config.isEnabled()) { // Check that the SSL configuration is valid. if (config.isUseSSL()) { try { SSLContext sslContext = createSSLContext(config); createSSLEngine(config, sslContext); } catch (DirectoryException e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } unacceptableReasons.add(e.getMessageObject()); return false; } } } return true; } /** * Checks whether any listen address is in use for the given port. The check * is performed by binding to each address and port. * * @param listenAddresses * the listen {@link InetAddress} to test * @param listenPort * the listen port to test * @param allowReuseAddress * whether addresses can be reused * @param configEntryDN * the configuration entry DN * @return an error message if at least one of the address is already in use, * null otherwise. */ private Message checkAnyListenAddressInUse( Collection<InetAddress> listenAddresses, int listenPort, boolean allowReuseAddress, DN configEntryDN) { for (InetAddress a : listenAddresses) { try { if (isAddressInUse(a, listenPort, allowReuseAddress)) { throw new IOException(ERR_CONNHANDLER_ADDRESS_INUSE.get().toString()); } } catch (IOException e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } return ERR_CONNHANDLER_CANNOT_BIND.get("HTTP", String .valueOf(configEntryDN), a.getHostAddress(), listenPort, getExceptionMessage(e)); } } return null; } /** {@inheritDoc} */ @Override public boolean isConfigurationChangeAcceptable( HTTPConnectionHandlerCfg configuration, List<Message> unacceptableReasons) { return isConfigurationAcceptable(configuration, unacceptableReasons); } /** {@inheritDoc} */ @Override public void processServerShutdown(Message reason) { shutdownRequested = true; } private boolean isListening() { return httpServer != null; } /** {@inheritDoc} */ @Override public void start() { // The Directory Server start process should only return // when the connection handlers port are fully opened // and working. The start method therefore needs to wait for // the created thread to synchronized (waitListen) { super.start(); try { waitListen.wait(); } catch (InterruptedException e) { // If something interrupted the start its probably better // to return ASAP. } } } /** {@inheritDoc} */ @Override public void run() { setName(handlerName); while (!shutdownRequested) { // If this connection handler is not enabled, then just sleep // for a bit and check again. if (!currentConfig.isEnabled()) { if (isListening()) { stopHttpServer(); } sleep(1000); continue; } if (isListening()) { // If already listening, then sleep for a bit and check again. sleep(1000); continue; } // If we have gotten here, then we are about to start listening // for the first time since startup or since we were previously // disabled. Start the embedded HTTP server startHttpServer(); } // Initiate shutdown stopHttpServer(); } private void startHttpServer() { // TODO JNR stop Grizzly own logging. // [testng] Mar 14, 2013 11:22:13 AM org.glassfish.grizzly.http.server. // NetworkListener stop // [testng] INFO: Stopped listener bound to [0.0.0.0:8080] // [testng] Mar 14, 2013 11:22:19 AM org.glassfish.grizzly.servlet. // WebappContext deploy // [testng] INFO: Starting application [example] ... // [testng] Mar 14, 2013 11:22:19 AM org.glassfish.grizzly.servlet. // WebappContext initServlets // [testng] INFO: [example] Servlet // [org.opends.server.protocols.http.HTTPConnec // tionHandler$FakeServlet] registered for url pattern(s) [[/managed/*]]. // [testng] Mar 14, 2013 11:22:19 AM // org.glassfish.grizzly.servlet.WebappContext // initFilters // [testng] INFO: [example] Filter [org.opends.server.protocols.http. // AllowAdressesFilter] registered for // url pattern(s) [[/managed/*]] and servlet name(s) [[]] // [testng] Mar 14, 2013 11:22:19 AM // org.glassfish.grizzly.servlet.WebappContext // deploy // [testng] INFO: Application [example] is ready to service requests. Root: // [/example]. // [testng] Mar 14, 2013 11:22:19 AM org.glassfish.grizzly.http.server. // NetworkListener start // [testng] INFO: Started listener bound to [0.0.0.0:8080] // [testng] Mar 14, 2013 11:22:19 AM org.glassfish.grizzly.http.server. // HttpServer start // [testng] INFO: [HttpServer-1] Started. this.httpServer = HttpServer.createSimpleServer("./", initConfig.getListenPort()); int requestSize = (int) currentConfig.getMaxRequestSize(); final ServerConfiguration serverConfig = this.httpServer.getServerConfiguration(); serverConfig.setMaxBufferedPostSize(requestSize); serverConfig.setMaxFormPostSize(requestSize); try { for (NetworkListener listener : this.httpServer.getListeners()) { TCPNIOTransport transport = listener.getTransport(); transport.setReuseAddress(currentConfig.isAllowTCPReuseAddress()); transport.setKeepAlive(currentConfig.isUseTCPKeepAlive()); transport.setTcpNoDelay(currentConfig.isUseTCPNoDelay()); transport.setWriteTimeout(currentConfig.getMaxBlockedWriteTimeLimit(), TimeUnit.MILLISECONDS); int bufferSize = (int) currentConfig.getBufferSize(); transport.setReadBufferSize(bufferSize); transport.setWriteBufferSize(bufferSize); // TODO JNR // transport.setIOStrategy(SameThreadIOStrategy.getInstance()); // transport.setWorkerThreadPool(threadPool); // transport.setWorkerThreadPoolConfig(workerPoolConfig); transport.setServerConnectionBackLog(currentConfig.getAcceptBacklog()); if (sslContext != null) { listener.setSecure(true); listener.setSSLEngineConfig(new SSLEngineConfigurator(sslContext)); } } // TODO JNR what to use here? final String displayName = "example"; final String contextPath = "/example"; final String servletName = "managed"; final String urlPattern = "/managed/*"; // TODO JNR what to use here? final WebappContext ctx = new WebappContext(displayName, contextPath); Filter filter = new CollectClientConnectionsFilter(this, clientConnections); FilterRegistration filterReg = ctx.addFilter("collectClientConnections", filter); // TODO JNR this is not working // filterReg.addMappingForServletNames(EnumSet.allOf( // DispatcherType.class), servletName); filterReg.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), urlPattern); final ServletRegistration reg = ctx.addServlet(servletName, new FakeServlet()); reg.addMapping(urlPattern); ctx.deploy(this.httpServer); TRACER.debugInfo("Starting HTTP server..."); this.httpServer.start(); TRACER.debugInfo("HTTP server started"); logError(NOTE_CONNHANDLER_STARTED_LISTENING.get(handlerName)); // At this point, the connection Handler either started // correctly or failed to start but the start process // should be notified and resume its work in any cases. synchronized (waitListen) { waitListen.notify(); } } catch (Exception e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } } } private void stopHttpServer() { TRACER.debugInfo("Stopping HTTP server..."); this.httpServer.stop(); this.httpServer = null; TRACER.debugInfo("HTTP server stopped"); logError(NOTE_CONNHANDLER_STOPPED_LISTENING.get(handlerName)); } private void sleep(int millis) { try { Thread.sleep(millis); } catch (InterruptedException wokenUp) { } } /** {@inheritDoc} */ @Override public void toString(StringBuilder buffer) { buffer.append(handlerName); } private SSLEngine createSSLEngine(HTTPConnectionHandlerCfg config, SSLContext sslContext) throws DirectoryException { if (sslContext == null) { return null; } try { SSLEngine sslEngine = sslContext.createSSLEngine(); sslEngine.setUseClientMode(false); final Set<String> protocols = config.getSSLProtocol(); if (!protocols.isEmpty()) { String[] array = protocols.toArray(new String[protocols.size()]); sslEngine.setEnabledProtocols(array); } final Set<String> ciphers = config.getSSLCipherSuite(); if (!ciphers.isEmpty()) { String[] array = ciphers.toArray(new String[ciphers.size()]); sslEngine.setEnabledCipherSuites(array); } switch (config.getSSLClientAuthPolicy()) { case DISABLED: sslEngine.setNeedClientAuth(false); sslEngine.setWantClientAuth(false); break; case REQUIRED: sslEngine.setWantClientAuth(true); sslEngine.setNeedClientAuth(true); break; case OPTIONAL: default: sslEngine.setNeedClientAuth(false); sslEngine.setWantClientAuth(true); break; } return sslEngine; } catch (Exception e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } ResultCode resCode = DirectoryServer.getServerErrorResultCode(); Message message = ERR_CONNHANDLER_SSL_CANNOT_INITIALIZE.get(getExceptionMessage(e)); throw new DirectoryException(resCode, message, e); } } private SSLContext createSSLContext(HTTPConnectionHandlerCfg config) throws DirectoryException { if (!config.isUseSSL()) { return null; } try { DN keyMgrDN = config.getKeyManagerProviderDN(); KeyManagerProvider<?> keyManagerProvider = DirectoryServer.getKeyManagerProvider(keyMgrDN); if (keyManagerProvider == null) { keyManagerProvider = new NullKeyManagerProvider(); } String alias = config.getSSLCertNickname(); KeyManager[] keyManagers; if (alias == null) { keyManagers = keyManagerProvider.getKeyManagers(); } else { keyManagers = SelectableCertificateKeyManager.wrap(keyManagerProvider .getKeyManagers(), alias); } DN trustMgrDN = config.getTrustManagerProviderDN(); TrustManagerProvider<?> trustManagerProvider = DirectoryServer.getTrustManagerProvider(trustMgrDN); if (trustManagerProvider == null) { trustManagerProvider = new NullTrustManagerProvider(); } SSLContext sslContext = SSLContext.getInstance(SSL_CONTEXT_INSTANCE_NAME); sslContext.init(keyManagers, trustManagerProvider.getTrustManagers(), null); return sslContext; } catch (Exception e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } ResultCode resCode = DirectoryServer.getServerErrorResultCode(); Message message = ERR_CONNHANDLER_SSL_CANNOT_INITIALIZE.get(getExceptionMessage(e)); throw new DirectoryException(resCode, message, e); } } } opends/src/server/org/opends/server/protocols/http/package-info.java
New file @@ -0,0 +1,37 @@ /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2013 ForgeRock AS */ /** * Contains the implementation for the Directory Server connection handler that * is responsible for interacting with clients using HTTP. */ @org.opends.server.types.PublicAPI( stability=org.opends.server.types.StabilityLevel.PRIVATE) package org.opends.server.protocols.http; opends/src/server/org/opends/server/protocols/jmx/JmxClientConnection.java
@@ -23,31 +23,32 @@ * * * Copyright 2006-2009 Sun Microsystems, Inc. * Portions Copyright 2011 ForgeRock AS * Portions Copyright 2011-2013 ForgeRock AS */ package org.opends.server.protocols.jmx; import java.net.*; import java.net.InetAddress; import java.util.*; import java.util.concurrent.atomic.*; import javax.management.Notification; import javax.management.NotificationListener; import javax.management.remote.JMXConnectionNotification; import org.opends.messages.Message; import org.opends.messages.MessageBuilder; import org.opends.server.api.*; import org.opends.server.core.*; import org.opends.server.core.networkgroups.NetworkGroup; import org.opends.server.loggers.debug.DebugTracer; import org.opends.server.protocols.ldap.*; import org.opends.server.protocols.internal.InternalSearchOperation ; import org.opends.server.protocols.internal.InternalSearchListener; import org.opends.messages.Message; import org.opends.server.types.*; import static org.opends.server.loggers.debug.DebugLogger.*; import org.opends.server.loggers.debug.DebugTracer; import static org.opends.messages.ProtocolMessages.*; import org.opends.messages.MessageBuilder; import org.opends.server.core.networkgroups.NetworkGroup; /** * This class defines the set of methods and structures that must be implemented @@ -117,12 +118,8 @@ connectionID = DirectoryServer.newConnectionAccepted(this); if (connectionID < 0) { // // TODO Change Message to be JMX specific disconnect( DisconnectReason.ADMIN_LIMIT_EXCEEDED, true, ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER.get()); disconnect(DisconnectReason.ADMIN_LIMIT_EXCEEDED, true, ERR_CONNHANDLER_REJECTED_BY_SERVER.get()); } operationList = new LinkedList<Operation>(); @@ -154,11 +151,8 @@ // // The only handled notifications are CLOSED and FAILED if (! ( (jcn.getType().equals(JMXConnectionNotification.CLOSED)) || (jcn.getType().equals(JMXConnectionNotification.FAILED)) )) if ((!jcn.getType().equals(JMXConnectionNotification.CLOSED)) && (!jcn.getType().equals(JMXConnectionNotification.FAILED))) { return; } opends/src/server/org/opends/server/protocols/jmx/JmxConnectionHandler.java
@@ -23,18 +23,15 @@ * * * Copyright 2006-2009 Sun Microsystems, Inc. * Portions copyright 2013 ForgeRock AS */ package org.opends.server.protocols.jmx; import java.io.IOException; import org.opends.messages.Message; import static org.opends.server.loggers.ErrorLogger.logError; import static org.opends.messages.ProtocolMessages.*; import static org.opends.server.loggers.ErrorLogger.logError; import static org.opends.server.util.StaticUtils.*; import java.io.IOException; import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.Collection; @@ -42,6 +39,7 @@ import java.util.LinkedList; import java.util.List; import org.opends.messages.Message; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.std.server.ConnectionHandlerCfg; import org.opends.server.admin.std.server.JMXConnectionHandlerCfg; @@ -53,8 +51,6 @@ import org.opends.server.core.DirectoryServer; import org.opends.server.types.ConfigChangeResult; import org.opends.server.types.DN; import org.opends.server.types.HostPort; import org.opends.server.types.InitializationException; import org.opends.server.types.ResultCode; @@ -74,6 +70,8 @@ ServerShutdownListener, AlertGenerator, ConfigurationChangeListener<JMXConnectionHandlerCfg> { private static final String WILDCARD_ADDRESS = "0.0.0.0"; /** * Key that may be placed into a JMX connection environment map to * provide a custom <code>javax.net.ssl.TrustManager</code> array @@ -119,6 +117,7 @@ /** * {@inheritDoc} */ @Override public ConfigChangeResult applyConfigurationChange( JMXConnectionHandlerCfg config) { // Create variables to include in the response. @@ -214,6 +213,7 @@ * @return Information about the set of alerts that this generator * may produce. */ @Override public LinkedHashMap<String, String> getAlerts() { LinkedHashMap<String, String> alerts = new LinkedHashMap<String, String>(); @@ -229,6 +229,7 @@ * @return The fully-qualified name of the Java class for this alert * generator implementation. */ @Override public String getClassName() { return CLASS_NAME; } @@ -305,6 +306,7 @@ /** * {@inheritDoc} */ @Override public String getShutdownListenerName() { return connectionHandlerName; } @@ -347,9 +349,9 @@ } catch (Exception e) { Message message = ERR_JMX_CONNHANDLER_CANNOT_BIND. get(String.valueOf(config.dn()), config.getListenPort(), getExceptionMessage(e)); Message message = ERR_CONNHANDLER_CANNOT_BIND.get("JMX", String.valueOf(config.dn()), WILDCARD_ADDRESS, config.getListenPort(), getExceptionMessage(e)); logError(message); throw new InitializationException(message); } @@ -361,7 +363,7 @@ } listeners.clear(); listeners.add(new HostPort("0.0.0.0", config.getListenPort())); listeners.add(new HostPort(WILDCARD_ADDRESS, config.getListenPort())); connectionHandlerName = "JMX Connection Handler " + config.getListenPort(); // Create a system property to store the JMX port the server is @@ -430,9 +432,10 @@ ERR_CONNHANDLER_ADDRESS_INUSE.get().toString()); } } catch (Exception e) { Message message = ERR_JMX_CONNHANDLER_CANNOT_BIND.get( String.valueOf(config.dn()), config.getListenPort(), getExceptionMessage(e)); Message message = ERR_CONNHANDLER_CANNOT_BIND.get("JMX", String.valueOf(config.dn()), WILDCARD_ADDRESS, config.getListenPort(), getExceptionMessage(e)); unacceptableReasons.add(message); return false; } @@ -446,6 +449,7 @@ /** * {@inheritDoc} */ @Override public boolean isConfigurationChangeAcceptable( JMXConnectionHandlerCfg config, List<Message> unacceptableReasons) { @@ -471,6 +475,7 @@ /** * {@inheritDoc} */ @Override public void processServerShutdown(Message reason) { // We should also close the RMI registry. rmiConnector.finalizeConnectionHandler(true); opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java
@@ -29,14 +29,14 @@ import static org.opends.messages.CoreMessages.ERR_ENQUEUE_BIND_IN_PROGRESS; import static org.opends.messages.CoreMessages.*; import static org.opends.messages.ProtocolMessages.*; import static org.opends.server.core.DirectoryServer.getMaxInternalBufferSize; import static org.opends.server.loggers.AccessLogger.logDisconnect; import static org.opends.server.loggers.ErrorLogger.logError; import static org.opends.server.core.DirectoryServer.*; import static org.opends.server.loggers.AccessLogger.*; import static org.opends.server.loggers.ErrorLogger.*; import static org.opends.server.loggers.debug.DebugLogger.*; import static org.opends.server.protocols.ldap.LDAPConstants.*; import static org.opends.server.util.ServerConstants.OID_START_TLS_REQUEST; import static org.opends.server.util.ServerConstants.*; import static org.opends.server.util.StaticUtils.*; import java.io.IOException; @@ -109,6 +109,7 @@ /** * {@inheritDoc} */ @Override public void run() { try @@ -159,6 +160,7 @@ // Synchronize concurrent writes to the same connection. private final Lock writeLock = new ReentrantLock(); @Override public int read(ByteBuffer byteBuffer) throws IOException { int bytesRead = clientChannel.read(byteBuffer); @@ -169,11 +171,13 @@ return bytesRead; } @Override public boolean isOpen() { return clientChannel.isOpen(); } @Override public void close() throws IOException { clientChannel.close(); @@ -181,6 +185,7 @@ @Override public int write(ByteBuffer byteBuffer) throws IOException { writeLock.lock(); @@ -333,6 +338,7 @@ /** * {@inheritDoc} */ @Override protected ASN1WriterHolder initialValue() { return new ASN1WriterHolder(); @@ -503,7 +509,7 @@ if (connectionID < 0) { disconnect(DisconnectReason.ADMIN_LIMIT_EXCEEDED, true, ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER.get()); ERR_CONNHANDLER_REJECTED_BY_SERVER.get()); } } @@ -2498,6 +2504,7 @@ /** * {@inheritDoc} */ @Override public boolean prepareTLS(MessageBuilder unavailableReason) { if (isSecure() && "TLS".equals(activeProvider.getName())) opends/src/server/org/opends/server/protocols/ldap/LDAPConnectionHandler.java
@@ -123,16 +123,12 @@ private static final DebugTracer TRACER = getTracer(); /** * The fully-qualified name of this class. */ private static final String CLASS_NAME = "org.opends.server.protocols.ldap.LDAPConnectionHandler"; /** * Default friendly name for the LDAP connection handler. */ private static final String DEFAULT_FRIENDLY_NAME = "LDAP Connection Handler"; private static final String DEFAULT_FRIENDLY_NAME = "LDAP Connection Handler"; /** SSL instance name used in context creation. */ private static final String SSL_CONTEXT_INSTANCE_NAME = "TLS"; /** The current configuration state. */ private LDAPConnectionHandlerCfg currentConfig; @@ -185,7 +181,7 @@ private int requestHandlerIndex; /** The set of listeners for this connection handler. */ private LinkedList<HostPort> listeners; private List<HostPort> listeners; /** * The set of request handlers that are associated with this connection @@ -227,14 +223,14 @@ /** The friendly name of this connection handler. */ private String friendlyName; /** SSL instance name used in context creation. */ private static final String SSL_CONTEXT_INSTANCE_NAME = "TLS"; /** * SSL context and engine - the engine is used for obtaining default SSL * parameters. * SSL context. * * @see LDAPConnectionHandler#sslEngine */ private SSLContext sslContext; /** The SSL engine is used for obtaining default SSL parameters. */ private SSLEngine sslEngine; /** @@ -352,24 +348,19 @@ deniedClients = config.getDeniedClient(); // Reconfigure SSL if needed. protocol = config.isUseSSL() ? "LDAPS" : "LDAP"; if (config.isUseSSL() || config.isAllowStartTLS()) try { try configureSSL(config); } catch (DirectoryException e) { if (debugEnabled()) { sslContext = createSSLContext(config); sslEngine = createSSLEngine(config, sslContext); TRACER.debugCaught(DebugLogLevel.ERROR, e); } catch (DirectoryException e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } messages.add(e.getMessageObject()); return new ConfigChangeResult(e.getResultCode(), adminActionRequired, messages); } messages.add(e.getMessageObject()); return new ConfigChangeResult(e.getResultCode(), adminActionRequired, messages); } if (config.isAllowLDAPV2()) @@ -384,6 +375,21 @@ return new ConfigChangeResult(resultCode, adminActionRequired, messages); } private void configureSSL(LDAPConnectionHandlerCfg config) throws DirectoryException { protocol = config.isUseSSL() ? "LDAPS" : "LDAP"; if (config.isUseSSL() || config.isAllowStartTLS()) { sslContext = createSSLContext(config); sslEngine = createSSLEngine(config, sslContext); } else { sslContext = null; sslEngine = null; } } /** @@ -477,7 +483,7 @@ @Override public String getClassName() { return CLASS_NAME; return LDAPConnectionHandler.class.getName(); } @@ -534,13 +540,10 @@ @Override public Collection<String> getEnabledSSLCipherSuites() { if (currentConfig.isUseSSL() || currentConfig.isAllowStartTLS()) final SSLEngine engine = sslEngine; if (engine != null) { final SSLEngine engine = sslEngine; if (engine != null) { return Arrays.asList(engine.getEnabledCipherSuites()); } return Arrays.asList(engine.getEnabledCipherSuites()); } return super.getEnabledSSLCipherSuites(); } @@ -553,13 +556,10 @@ @Override public Collection<String> getEnabledSSLProtocols() { if (currentConfig.isUseSSL() || currentConfig.isAllowStartTLS()) final SSLEngine engine = sslEngine; if (engine != null) { final SSLEngine engine = sslEngine; if (engine != null) { return Arrays.asList(engine.getEnabledProtocols()); } return Arrays.asList(engine.getEnabledProtocols()); } return super.getEnabledSSLProtocols(); } @@ -716,22 +716,17 @@ deniedClients = config.getDeniedClient(); // Configure SSL if needed. protocol = config.isUseSSL() ? "LDAPS" : "LDAP"; if (config.isUseSSL() || config.isAllowStartTLS()) try { try configureSSL(config); } catch (DirectoryException e) { if (debugEnabled()) { sslContext = createSSLContext(config); sslEngine = createSSLEngine(config, sslContext); TRACER.debugCaught(DebugLogLevel.ERROR, e); } catch (DirectoryException e) { if (debugEnabled()) { TRACER.debugCaught(DebugLogLevel.ERROR, e); } throw new InitializationException(e.getMessageObject()); } throw new InitializationException(e.getMessageObject()); } // Save properties that cannot be dynamically modified. @@ -899,7 +894,7 @@ { TRACER.debugCaught(DebugLogLevel.ERROR, e); } return ERR_LDAP_CONNHANDLER_CANNOT_BIND.get(String return ERR_CONNHANDLER_CANNOT_BIND.get("LDAP", String .valueOf(configEntryDN), a.getHostAddress(), listenPort, getExceptionMessage(e)); } @@ -1010,7 +1005,7 @@ cleanUpSelector(); listening = false; logError(NOTE_LDAP_CONNHANDLER_STOPPED_LISTENING.get(handlerName)); logError(NOTE_CONNHANDLER_STOPPED_LISTENING.get(handlerName)); } try @@ -1202,7 +1197,7 @@ channel.register(selector, SelectionKey.OP_ACCEPT); numRegistered++; logError(NOTE_LDAP_CONNHANDLER_STARTED_LISTENING.get(handlerName)); logError(NOTE_CONNHANDLER_STARTED_LISTENING.get(handlerName)); } catch (Exception e) { @@ -1254,12 +1249,10 @@ if ((!deniedClients.isEmpty()) && AddressMask.maskListContains(clientAddr, deniedClients)) { clientConnection.disconnect( DisconnectReason.CONNECTION_REJECTED, currentConfig.isSendRejectionNotice(), ERR_LDAP_CONNHANDLER_DENIED_CLIENT.get( clientConnection.getClientHostPort(), clientConnection.getServerHostPort())); clientConnection.disconnect(DisconnectReason.CONNECTION_REJECTED, currentConfig.isSendRejectionNotice(), ERR_CONNHANDLER_DENIED_CLIENT .get(clientConnection.getClientHostPort(), clientConnection .getServerHostPort())); return; } // Check to see if there is an allowed list and if @@ -1268,12 +1261,10 @@ if ((!allowedClients.isEmpty()) && (!AddressMask.maskListContains(clientAddr, allowedClients))) { clientConnection.disconnect( DisconnectReason.CONNECTION_REJECTED, clientConnection.disconnect(DisconnectReason.CONNECTION_REJECTED, currentConfig.isSendRejectionNotice(), ERR_LDAP_CONNHANDLER_DISALLOWED_CLIENT.get( clientConnection.getClientHostPort(), clientConnection.getServerHostPort())); ERR_CONNHANDLER_DISALLOWED_CLIENT.get(clientConnection .getClientHostPort(), clientConnection.getServerHostPort())); return; } @@ -1310,9 +1301,10 @@ TRACER.debugCaught(DebugLogLevel.ERROR, e); } Message message = INFO_LDAP_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT.get( clientConnection.getClientHostPort(), clientConnection.getServerHostPort(), getExceptionMessage(e)); Message message = INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT.get(clientConnection .getClientHostPort(), clientConnection.getServerHostPort(), getExceptionMessage(e)); logError(message); clientConnection.disconnect(DisconnectReason.SERVER_ERROR,