001/*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License").  You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
010 * or http://forgerock.org/license/CDDLv1.0.html.
011 * See the License for the specific language governing permissions
012 * and limitations under the License.
013 *
014 * When distributing Covered Code, include this CDDL HEADER in each
015 * file and include the License file at legal-notices/CDDLv1_0.txt.
016 * If applicable, add the following below this CDDL HEADER, with the
017 * fields enclosed by brackets "[]" replaced with your own identifying
018 * information:
019 *      Portions Copyright [yyyy] [name of copyright owner]
020 *
021 * CDDL HEADER END
022 *
023 *
024 *      Copyright 2008 Sun Microsystems, Inc.
025 */
026package org.opends.server.admin.std.client;
027
028
029
030import org.opends.server.admin.ManagedObjectDefinition;
031import org.opends.server.admin.PropertyException;
032import org.opends.server.admin.std.meta.DigestMD5SASLMechanismHandlerCfgDefn.QualityOfProtection;
033import org.opends.server.admin.std.server.DigestMD5SASLMechanismHandlerCfg;
034
035
036
037/**
038 * A client-side interface for reading and modifying Digest MD5 SASL
039 * Mechanism Handler settings.
040 * <p>
041 * The DIGEST-MD5 SASL mechanism is used to perform all processing
042 * related to SASL DIGEST-MD5 authentication.
043 */
044public interface DigestMD5SASLMechanismHandlerCfgClient extends SASLMechanismHandlerCfgClient {
045
046  /**
047   * Get the configuration definition associated with this Digest MD5 SASL Mechanism Handler.
048   *
049   * @return Returns the configuration definition associated with this Digest MD5 SASL Mechanism Handler.
050   */
051  ManagedObjectDefinition<? extends DigestMD5SASLMechanismHandlerCfgClient, ? extends DigestMD5SASLMechanismHandlerCfg> definition();
052
053
054
055  /**
056   * Gets the "identity-mapper" property.
057   * <p>
058   * Specifies the name of the identity mapper that is to be used with
059   * this SASL mechanism handler to match the authentication or
060   * authorization ID included in the SASL bind request to the
061   * corresponding user in the directory.
062   *
063   * @return Returns the value of the "identity-mapper" property.
064   */
065  String getIdentityMapper();
066
067
068
069  /**
070   * Sets the "identity-mapper" property.
071   * <p>
072   * Specifies the name of the identity mapper that is to be used with
073   * this SASL mechanism handler to match the authentication or
074   * authorization ID included in the SASL bind request to the
075   * corresponding user in the directory.
076   *
077   * @param value The value of the "identity-mapper" property.
078   * @throws PropertyException
079   *           If the new value is invalid.
080   */
081  void setIdentityMapper(String value) throws PropertyException;
082
083
084
085  /**
086   * Gets the "java-class" property.
087   * <p>
088   * Specifies the fully-qualified name of the Java class that
089   * provides the SASL mechanism handler implementation.
090   *
091   * @return Returns the value of the "java-class" property.
092   */
093  String getJavaClass();
094
095
096
097  /**
098   * Sets the "java-class" property.
099   * <p>
100   * Specifies the fully-qualified name of the Java class that
101   * provides the SASL mechanism handler implementation.
102   *
103   * @param value The value of the "java-class" property.
104   * @throws PropertyException
105   *           If the new value is invalid.
106   */
107  void setJavaClass(String value) throws PropertyException;
108
109
110
111  /**
112   * Gets the "quality-of-protection" property.
113   * <p>
114   * The name of a property that specifies the quality of protection
115   * the server will support.
116   *
117   * @return Returns the value of the "quality-of-protection" property.
118   */
119  QualityOfProtection getQualityOfProtection();
120
121
122
123  /**
124   * Sets the "quality-of-protection" property.
125   * <p>
126   * The name of a property that specifies the quality of protection
127   * the server will support.
128   *
129   * @param value The value of the "quality-of-protection" property.
130   * @throws PropertyException
131   *           If the new value is invalid.
132   */
133  void setQualityOfProtection(QualityOfProtection value) throws PropertyException;
134
135
136
137  /**
138   * Gets the "realm" property.
139   * <p>
140   * Specifies the realms that is to be used by the server for
141   * DIGEST-MD5 authentication.
142   * <p>
143   * If this value is not provided, then the server defaults to use
144   * the fully qualified hostname of the machine.
145   *
146   * @return Returns the value of the "realm" property.
147   */
148  String getRealm();
149
150
151
152  /**
153   * Sets the "realm" property.
154   * <p>
155   * Specifies the realms that is to be used by the server for
156   * DIGEST-MD5 authentication.
157   * <p>
158   * If this value is not provided, then the server defaults to use
159   * the fully qualified hostname of the machine.
160   *
161   * @param value The value of the "realm" property.
162   * @throws PropertyException
163   *           If the new value is invalid.
164   */
165  void setRealm(String value) throws PropertyException;
166
167
168
169  /**
170   * Gets the "server-fqdn" property.
171   * <p>
172   * Specifies the DNS-resolvable fully-qualified domain name for the
173   * server that is used when validating the digest-uri parameter
174   * during the authentication process.
175   * <p>
176   * If this configuration attribute is present, then the server
177   * expects that clients use a digest-uri equal to "ldap/" followed by
178   * the value of this attribute. For example, if the attribute has a
179   * value of "directory.example.com", then the server expects clients
180   * to use a digest-uri of "ldap/directory.example.com". If no value
181   * is provided, then the server does not attempt to validate the
182   * digest-uri provided by the client and accepts any value.
183   *
184   * @return Returns the value of the "server-fqdn" property.
185   */
186  String getServerFqdn();
187
188
189
190  /**
191   * Sets the "server-fqdn" property.
192   * <p>
193   * Specifies the DNS-resolvable fully-qualified domain name for the
194   * server that is used when validating the digest-uri parameter
195   * during the authentication process.
196   * <p>
197   * If this configuration attribute is present, then the server
198   * expects that clients use a digest-uri equal to "ldap/" followed by
199   * the value of this attribute. For example, if the attribute has a
200   * value of "directory.example.com", then the server expects clients
201   * to use a digest-uri of "ldap/directory.example.com". If no value
202   * is provided, then the server does not attempt to validate the
203   * digest-uri provided by the client and accepts any value.
204   *
205   * @param value The value of the "server-fqdn" property.
206   * @throws PropertyException
207   *           If the new value is invalid.
208   */
209  void setServerFqdn(String value) throws PropertyException;
210
211}