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
010     * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011     * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012     * See the License for the specific language governing permissions
013     * and limitations under the License.
014     *
015     * When distributing Covered Code, include this CDDL HEADER in each
016     * file and include the License file at
017     * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
018     * add the following below this CDDL HEADER, with the fields enclosed
019     * by brackets "[]" replaced with your own identifying information:
020     *      Portions Copyright [yyyy] [name of copyright owner]
021     *
022     * CDDL HEADER END
023     *
024     *
025     *      Copyright 2008 Sun Microsystems, Inc.
026     */
027    package org.opends.server.admin.std.client;
028    
029    
030    
031    import org.opends.server.admin.IllegalPropertyValueException;
032    import org.opends.server.admin.ManagedObjectDefinition;
033    import 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     */
044    public 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 IllegalPropertyValueException
079       *           If the new value is invalid.
080       */
081      void setIdentityMapper(String value) throws IllegalPropertyValueException;
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 IllegalPropertyValueException
105       *           If the new value is invalid.
106       */
107      void setJavaClass(String value) throws IllegalPropertyValueException;
108    
109    
110    
111      /**
112       * Gets the "realm" property.
113       * <p>
114       * Specifies the realm that is to be used by the server for
115       * DIGEST-MD5 authentication.
116       * <p>
117       * If this value is not provided, then the server defaults to use a
118       * set of realm names that correspond to the defined suffixes.
119       *
120       * @return Returns the value of the "realm" property.
121       */
122      String getRealm();
123    
124    
125    
126      /**
127       * Sets the "realm" property.
128       * <p>
129       * Specifies the realm that is to be used by the server for
130       * DIGEST-MD5 authentication.
131       * <p>
132       * If this value is not provided, then the server defaults to use a
133       * set of realm names that correspond to the defined suffixes.
134       *
135       * @param value The value of the "realm" property.
136       * @throws IllegalPropertyValueException
137       *           If the new value is invalid.
138       */
139      void setRealm(String value) throws IllegalPropertyValueException;
140    
141    
142    
143      /**
144       * Gets the "server-fqdn" property.
145       * <p>
146       * Specifies the DNS-resolvable fully-qualified domain name for the
147       * server that is used when validating the digest-uri parameter
148       * during the authentication process.
149       * <p>
150       * If this configuration attribute is present, then the server
151       * expects that clients use a digest-uri equal to "ldap/" followed by
152       * the value of this attribute. For example, if the attribute has a
153       * value of "directory.example.com", then the server expects clients
154       * to use a digest-uri of "ldap/directory.example.com". If no value
155       * is provided, then the server does not attempt to validate the
156       * digest-uri provided by the client and accepts any value.
157       *
158       * @return Returns the value of the "server-fqdn" property.
159       */
160      String getServerFqdn();
161    
162    
163    
164      /**
165       * Sets the "server-fqdn" property.
166       * <p>
167       * Specifies the DNS-resolvable fully-qualified domain name for the
168       * server that is used when validating the digest-uri parameter
169       * during the authentication process.
170       * <p>
171       * If this configuration attribute is present, then the server
172       * expects that clients use a digest-uri equal to "ldap/" followed by
173       * the value of this attribute. For example, if the attribute has a
174       * value of "directory.example.com", then the server expects clients
175       * to use a digest-uri of "ldap/directory.example.com". If no value
176       * is provided, then the server does not attempt to validate the
177       * digest-uri provided by the client and accepts any value.
178       *
179       * @param value The value of the "server-fqdn" property.
180       * @throws IllegalPropertyValueException
181       *           If the new value is invalid.
182       */
183      void setServerFqdn(String value) throws IllegalPropertyValueException;
184    
185    }