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.GSSAPISASLMechanismHandlerCfg;
034    
035    
036    
037    /**
038     * A client-side interface for reading and modifying GSSAPI SASL
039     * Mechanism Handler settings.
040     * <p>
041     * The GSSAPI SASL mechanism performs all processing related to SASL
042     * GSSAPI authentication using Kerberos V5.
043     */
044    public interface GSSAPISASLMechanismHandlerCfgClient extends SASLMechanismHandlerCfgClient {
045    
046      /**
047       * Get the configuration definition associated with this GSSAPI SASL Mechanism Handler.
048       *
049       * @return Returns the configuration definition associated with this GSSAPI SASL Mechanism Handler.
050       */
051      ManagedObjectDefinition<? extends GSSAPISASLMechanismHandlerCfgClient, ? extends GSSAPISASLMechanismHandlerCfg> 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 Kerberos principal
060       * included in the SASL bind request to the corresponding user in the
061       * 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 Kerberos principal
074       * included in the SASL bind request to the corresponding user in the
075       * 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 "kdc-address" property.
113       * <p>
114       * Specifies the address of the KDC that is to be used for Kerberos
115       * processing.
116       * <p>
117       * If provided, this property must be a fully-qualified
118       * DNS-resolvable name. If this property is not provided, then the
119       * server attempts to determine it from the system-wide Kerberos
120       * configuration.
121       *
122       * @return Returns the value of the "kdc-address" property.
123       */
124      String getKdcAddress();
125    
126    
127    
128      /**
129       * Sets the "kdc-address" property.
130       * <p>
131       * Specifies the address of the KDC that is to be used for Kerberos
132       * processing.
133       * <p>
134       * If provided, this property must be a fully-qualified
135       * DNS-resolvable name. If this property is not provided, then the
136       * server attempts to determine it from the system-wide Kerberos
137       * configuration.
138       *
139       * @param value The value of the "kdc-address" property.
140       * @throws IllegalPropertyValueException
141       *           If the new value is invalid.
142       */
143      void setKdcAddress(String value) throws IllegalPropertyValueException;
144    
145    
146    
147      /**
148       * Gets the "keytab" property.
149       * <p>
150       * Specifies the path to the keytab file that should be used for
151       * Kerberos processing.
152       * <p>
153       * If provided, this is either an absolute path or one that is
154       * relative to the server instance root.
155       *
156       * @return Returns the value of the "keytab" property.
157       */
158      String getKeytab();
159    
160    
161    
162      /**
163       * Sets the "keytab" property.
164       * <p>
165       * Specifies the path to the keytab file that should be used for
166       * Kerberos processing.
167       * <p>
168       * If provided, this is either an absolute path or one that is
169       * relative to the server instance root.
170       *
171       * @param value The value of the "keytab" property.
172       * @throws IllegalPropertyValueException
173       *           If the new value is invalid.
174       */
175      void setKeytab(String value) throws IllegalPropertyValueException;
176    
177    
178    
179      /**
180       * Gets the "realm" property.
181       * <p>
182       * Specifies the realm to be used for GSSAPI authentication.
183       *
184       * @return Returns the value of the "realm" property.
185       */
186      String getRealm();
187    
188    
189    
190      /**
191       * Sets the "realm" property.
192       * <p>
193       * Specifies the realm to be used for GSSAPI authentication.
194       *
195       * @param value The value of the "realm" property.
196       * @throws IllegalPropertyValueException
197       *           If the new value is invalid.
198       */
199      void setRealm(String value) throws IllegalPropertyValueException;
200    
201    
202    
203      /**
204       * Gets the "server-fqdn" property.
205       * <p>
206       * Specifies the DNS-resolvable fully-qualified domain name for the
207       * system.
208       *
209       * @return Returns the value of the "server-fqdn" property.
210       */
211      String getServerFqdn();
212    
213    
214    
215      /**
216       * Sets the "server-fqdn" property.
217       * <p>
218       * Specifies the DNS-resolvable fully-qualified domain name for the
219       * system.
220       *
221       * @param value The value of the "server-fqdn" property.
222       * @throws IllegalPropertyValueException
223       *           If the new value is invalid.
224       */
225      void setServerFqdn(String value) throws IllegalPropertyValueException;
226    
227    }