View Javadoc

1   /*
2    *   Copyright 2004 The Apache Software Foundation
3    *
4    *   Licensed under the Apache License, Version 2.0 (the "License");
5    *   you may not use this file except in compliance with the License.
6    *   You may obtain a copy of the License at
7    *
8    *       http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *   Unless required by applicable law or agreed to in writing, software
11   *   distributed under the License is distributed on an "AS IS" BASIS,
12   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *   See the License for the specific language governing permissions and
14   *   limitations under the License.
15   *
16   */
17  package org.apache.ldap.server.jndi;
18  
19  
20  /***
21   * JNDI environment property key constants.
22   *
23   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
24   * @version $Rev$
25   */
26  public class EnvKeys
27  {
28      // ------------------------------------------------------------------------
29      // Properties for operations
30      // ------------------------------------------------------------------------
31  
32      /*** property used to shutdown the system */
33      public static final String SHUTDOWN = "server.operation.shutdown";
34      /*** property used to sync the system with disk */
35      public static final String SYNC = "server.operation.sync";
36  
37  
38      // ------------------------------------------------------------------------
39      // Properties for setting working directory, schemas and allowing anon binds
40      // ------------------------------------------------------------------------
41  
42      //    Not enabled anywhere but in the protocol client at the time being ...
43      //    public static final String ICF_INSTANCE = "server.use.factory.instance";
44  
45      /*** bootstrap prop: path to eve's working directory - relative or absolute */
46      public static final String WKDIR = "server.wkdir";
47  
48      /*** a comma separated list of schema class files to load */
49      public static final String SCHEMAS = "server.schemas";
50  
51      /*** bootstrap prop: if key is present it enables anonymous users */
52      public static final String DISABLE_ANONYMOUS = "server.disable.anonymous";
53  
54      /*** a comma separated list of authenticator names */
55      public static final String AUTHENTICATORS = "server.authenticators";
56  
57      /*** the envprop key base to the authenticator implementation class */
58      public static final String AUTHENTICATOR_CLASS = "server.authenticator.class.";
59  
60      /*** the envprop key base to the properties of an authenticator */
61      public static final String AUTHENTICATOR_PROPERTIES = "server.authenticator.properties.";
62  
63      /***
64       * Bootstrap property: {@link org.apache.ldap.server.interceptor.Interceptor} or
65       * {@link org.apache.ldap.server.interceptor.InterceptorChain}
66       * that will intercept directory operations when they are invoked.  You
67       * don't need to specify this property if you want to use the default
68       * interceptor chain.  If you specify this property, you might have to
69       * add some default interceptors in <tt>org.apache.ldap.server.jndi.invocation.interceptor</tt>
70       * package in your custom interceptor chain.
71       * <p>
72       * Here is an example of how to pass configuration values to interceptor:
73       * <pre>
74       * # Passes property 'propA=3' to the root interceptor chain.
75       * server.interceptors#propA=3
76       * # Passes property 'propB=7' to the interceptor whose name is 'myinterceptor'.
77       * server.interceptors.myinterceptor#propB=7
78       * # Passes property 'propC=9' to an interceptor 'yourinterceptor' whose
79       * # parent is an interceptor chain 'childChain' which is a child of the
80       * # root interceptor chain. 
81       * server.interceptors.childChain.yourinterceptor#propC=9
82       * </pre>
83       */
84      public static final String INTERCEPTORS = "server.interceptor";
85  
86      // ------------------------------------------------------------------------
87      // Properties for protocol/network settings
88      // ------------------------------------------------------------------------
89  
90      /*** key used to disable the networking layer (wire protocol) */
91      public static final String DISABLE_PROTOCOL = "server.net.disable.protocol";
92      /*** key used to hold the MINA registry instance to use rather than creating one */
93      public static final String PASSTHRU = "server.net.passthru";
94      /*** key for port setting for ldap requests beside default 389 */
95      public static final String LDAP_PORT = "server.net.ldap.port";
96      /*** key for port setting for secure ldap requests besides default 636 */
97      public static final String LDAPS_PORT = "server.net.ldaps.port";
98  
99      // ------------------------------------------------------------------------
100     // Properties for partition configuration
101     // ------------------------------------------------------------------------
102 
103     /*** a comma separated list of partition names */
104     public static final String PARTITIONS = "server.db.partitions";
105     /*** the envprop key base to the suffix of a partition */
106     public static final String SUFFIX = "server.db.partition.suffix.";
107     /*** the envprop key base to the implementation of a partition */
108     public static final String PARTITION_CLASS = "server.db.partition.class.";
109     /*** the envprop key base to the properties of a partition */
110     public static final String PARTITION_PROPERTIES = "server.db.partition.properties.";
111     /*** the envprop key base to the space separated list of indices for a partition */
112     public static final String INDICES = "server.db.partition.indices.";
113     /*** the envprop key base to the Attributes for the context nexus entry */
114     public static final String ATTRIBUTES = "server.db.partition.attributes.";
115 
116     /***
117      * Unfortunately to test non-root user startup of the core and make sure
118      * all the appropriate functionality is there we need to load more user
119      * entries at startup due to a chicken and egg like problem.  The value
120      * of this property is a list of attributes to be added.  It should only
121      * be used to test the server and not as a feature since it may go away.
122      */
123     public static final String TEST_ENTRIES = "server.test.entries";
124 
125     /***
126      * Switch used to start up the kerberos server.  This should be used when
127      * firing up the server for the first time.  This is used with the
128      * ServerContextFactory which means the property should probably not be here.
129      */
130     public static final String ENABLE_KERBEROS = "server.enable.kerberos" ;
131 }