001/*
002 * The contents of this file are subject to the terms of the Common Development and
003 * Distribution License (the License). You may not use this file except in compliance with the
004 * License.
005 *
006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
007 * specific language governing permission and limitations under the License.
008 *
009 * When distributing Covered Software, include this CDDL Header Notice in each file and include
010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
011 * Header, with the fields enclosed by brackets [] replaced by your own identifying
012 * information: "Portions Copyright [year] [name of copyright owner]".
013 *
014 * Copyright 2006-2010 Sun Microsystems, Inc.
015 * Portions Copyright 2010-2016 ForgeRock AS.
016 */
017package org.opends.server.util;
018
019import org.forgerock.opendj.ldap.ByteString;
020
021/**
022 * This class defines a set of constants that may be referenced throughout the
023 * Directory Server source.
024 */
025@org.opends.server.types.PublicAPI(
026     stability=org.opends.server.types.StabilityLevel.UNCOMMITTED,
027     mayInstantiate=false,
028     mayExtend=false,
029     mayInvoke=true)
030public final class ServerConstants
031{
032  /** The end-of-line character for this platform. */
033  public static final String EOL = System.getProperty("line.separator");
034
035
036
037  /**
038   * The value that will be used in the configuration for Boolean elements with
039   * a value of "true".
040   */
041  public static final String CONFIG_VALUE_TRUE = "true";
042
043
044
045  /**
046   * The value that will be used in the configuration for Boolean elements with
047   * a value of "false".
048   */
049  public static final String CONFIG_VALUE_FALSE = "false";
050
051
052
053  /**
054   * The date format string that will be used to construct and parse dates
055   * represented in a form like UTC time, but using the local time zone.
056   */
057  public static final String DATE_FORMAT_COMPACT_LOCAL_TIME =
058       "yyyyMMddHHmmss";
059
060
061
062  /**
063   * The date format string that will be used to construct and parse dates
064   * represented using generalized time.  It is assumed that the provided date
065   * formatter will be set to UTC.
066   */
067  public static final String DATE_FORMAT_GENERALIZED_TIME =
068       "yyyyMMddHHmmss.SSS'Z'";
069
070
071
072  /**
073   * The date format string that will be used to construct and parse dates
074   * represented using generalized time.  It is assumed that the provided date
075   * formatter will be set to UTC.
076   */
077  public static final String DATE_FORMAT_LOCAL_TIME =
078       "dd/MMM/yyyy:HH:mm:ss Z";
079
080
081
082  /**
083   * The date format string that will be used to construct and parse dates
084   * represented using generalized time with a four-digit year.  It is assumed
085   * that the provided date formatter will be set to UTC.
086   */
087  public static final String DATE_FORMAT_GMT_TIME =
088       "yyyyMMddHHmmss'Z'";
089
090
091
092  /**
093   * The date format string that will be used to construct and parse dates
094   * represented using generalized time with a two-digit year.  It is assumed
095   * that the provided date formatter will be set to UTC.
096   */
097  public static final String DATE_FORMAT_UTC_TIME =
098       "yyMMddHHmmss'Z'";
099
100
101
102  /**
103   * The name of the time zone for universal coordinated time (UTC).
104   */
105  public static final String TIME_ZONE_UTC = "UTC";
106
107
108
109  /**
110   * The name of the standard attribute that is used to specify the target DN in
111   * an alias entry, formatted in all lowercase.
112   */
113  public static final String ATTR_ALIAS_DN = "aliasedobjectname";
114
115
116
117  /**
118   * The name of the standard attribute that is used to hold country names,
119   * formatted in all lowercase.
120   */
121  public static final String ATTR_C = "c";
122
123
124
125  /**
126   * The name of the standard attribute that is used to hold common names,
127   * formatted in all lowercase.
128   */
129  public static final String ATTR_COMMON_NAME = "cn";
130
131
132
133  /**
134   * The name of the attribute that is used to specify the number of connections
135   * currently established, formatted in camel case.
136   */
137  public static final String ATTR_CURRENT_CONNS = "currentConnections";
138
139
140
141  /**
142   * The name of the attribute that is used to specify the number of connections
143   * currently established, formatted in all lowercase.
144   */
145  public static final String ATTR_CURRENT_CONNS_LC = "currentconnections";
146
147
148
149  /**
150   * The name of the attribute that is used to specify the current time,
151   * formatted in camel case.
152   */
153  public static final String ATTR_CURRENT_TIME = "currentTime";
154
155
156
157  /**
158   * The name of the attribute that is used to specify the current time,
159   * formatted in all lowercase.
160   */
161  public static final String ATTR_CURRENT_TIME_LC = "currenttime";
162
163
164
165  /**
166   * The name of the standard attribute that is used to hold domain component
167   * names, formatted in all lowercase.
168   */
169  public static final String ATTR_DC = "dc";
170
171
172
173  /**
174   * The name of the attribute that is used to specify the maximum number of
175   * connections established at any time since startup, formatted in camel case.
176   */
177  public static final String ATTR_MAX_CONNS = "maxConnections";
178
179
180
181  /**
182   * The name of the attribute that is used to specify the maximum number of
183   * connections established at any time since startup, formatted in all
184   * lowercase.
185   */
186  public static final String ATTR_MAX_CONNS_LC = "maxconnections";
187
188
189
190  /**
191   * The name of the standard "member" attribute type, formatted in all
192   * lowercase characters.
193   */
194  public static final String ATTR_MEMBER = "member";
195
196
197
198  /**
199   * The name of the standard "memberURL" attribute type, formatted in camel
200   * case.
201   */
202  public static final String ATTR_MEMBER_URL = "memberURL";
203
204
205
206  /**
207   * The name of the standard "memberURL" attribute type, formatted in all
208   * lowercase characters.
209   */
210  public static final String ATTR_MEMBER_URL_LC = "memberurl";
211
212
213
214  /**
215   * The name of the standard "subtreeSpecification" attribute type,
216   * formatted in camel case.
217   */
218  public static final String ATTR_SUBTREE_SPEC = "subtreeSpecification";
219
220
221
222  /**
223   * The name of the standard "subtreeSpecification" attribute type,
224   * formatted in all lowercase characters.
225   */
226  public static final String ATTR_SUBTREE_SPEC_LC = "subtreespecification";
227
228
229
230  /**
231   * The name of the standard "collectiveExclusions" attribute type,
232   * formatted in camel case.
233   */
234  public static final String ATTR_COLLECTIVE_EXCLUSIONS =
235          "collectiveExclusions";
236
237
238
239  /**
240   * The name of the standard "collectiveExclusions" attribute type,
241   * formatted in all lowercase characters.
242   */
243  public static final String ATTR_COLLECTIVE_EXCLUSIONS_LC =
244          "collectiveexclusions";
245
246
247
248  /**
249   * The value of the standard "excludeAllCollectiveAttributes" attribute
250   * value of the standard "collectiveExclusions" attribute type,
251   * formatted in camel case.
252   */
253  public static final String VALUE_COLLECTIVE_EXCLUSIONS_EXCLUDE_ALL =
254          "excludeAllCollectiveAttributes";
255
256
257
258  /**
259   * The value of the standard "excludeAllCollectiveAttributes" attribute
260   * value of the standard "collectiveExclusions" attribute type,
261   * formatted in all lowercase characters.
262   */
263  public static final String VALUE_COLLECTIVE_EXCLUSIONS_EXCLUDE_ALL_LC =
264          "excludeallcollectiveattributes";
265
266
267
268  /**
269   * The OID of the standard "excludeAllCollectiveAttributes" attribute
270   * value of the standard "collectiveExclusions" attribute type.
271   */
272  public static final String OID_COLLECTIVE_EXCLUSIONS_EXCLUDE_ALL =
273          "2.5.18.0";
274
275
276
277  /**
278   * The name of the monitor attribute that is used to hold a backend ID.
279   */
280  public static final String ATTR_MONITOR_BACKEND_ID = "ds-backend-id";
281
282
283
284  /**
285   * The name of the monitor attribute that is used to hold the set of base DNs.
286   */
287  public static final String ATTR_MONITOR_BACKEND_BASE_DN =
288       "ds-backend-base-dn";
289
290
291
292  /**
293   * The name of the monitor attribute that is used to indicate whether a
294   * backend is private.
295   */
296  public static final String ATTR_MONITOR_BACKEND_IS_PRIVATE =
297       "ds-backend-is-private";
298
299
300
301  /**
302   * The name of the monitor attribute that is used to hold the backend entry
303   * count.
304   */
305  public static final String ATTR_MONITOR_BACKEND_ENTRY_COUNT =
306       "ds-backend-entry-count";
307
308
309  /**
310   * The name of the monitor attribute that is used to hold the base DN entry
311   * count.
312   */
313  public static final String ATTR_MONITOR_BASE_DN_ENTRY_COUNT =
314       "ds-base-dn-entry-count";
315
316  /**
317   * The name of the monitor attribute that is used to hold the backend
318   * writability mode.
319   */
320  public static final String ATTR_MONITOR_BACKEND_WRITABILITY_MODE =
321       "ds-backend-writability-mode";
322
323
324
325  /**
326   * The name of the monitor attribute that is used to hold the connection
327   * handler connections.
328   */
329  public static final String ATTR_MONITOR_CONNHANDLER_CONNECTION =
330       "ds-connectionhandler-connection";
331
332
333
334  /**
335   * The name of the monitor attribute that is used to hold the connection
336   * handler listeners.
337   */
338  public static final String ATTR_MONITOR_CONNHANDLER_LISTENER =
339       "ds-connectionhandler-listener";
340
341   /**
342   * The name of the monitor attribute that is used to hold the connection
343   * handler listeners.
344   */
345  public static final String ATTR_MONITOR_CONFIG_DN =
346       "ds-mon-config-dn";
347
348
349  /**
350   * The name of the monitor attribute that is used to hold the connection
351   * handler number of established connections.
352   */
353  public static final String ATTR_MONITOR_CONNHANDLER_NUMCONNECTIONS =
354       "ds-connectionhandler-num-connections";
355
356
357
358  /**
359   * The name of the monitor attribute that is used to hold the connection
360   * handler protocol.
361   */
362  public static final String ATTR_MONITOR_CONNHANDLER_PROTOCOL =
363       "ds-connectionhandler-protocol";
364
365
366
367  /**
368   * The name of the standard attribute that is used to specify the set of
369   * public naming contexts (suffixes) for the Directory Server, formatted in
370   * camel case.
371   */
372  public static final String ATTR_NAMING_CONTEXTS = "namingContexts";
373
374
375
376  /**
377   * The name of the standard attribute that is used to specify the set of
378   * public naming contexts (suffixes) for the Directory Server, formatted in
379   * all lowercase.
380   */
381  public static final String ATTR_NAMING_CONTEXTS_LC = "namingcontexts";
382
383
384
385  /**
386   * The name of the attribute used to hold the DNs that constitute the set of
387   * "private" naming contexts registered with the server.
388   */
389  public static final String ATTR_PRIVATE_NAMING_CONTEXTS =
390       "ds-private-naming-contexts";
391
392
393
394  /**
395   * The name of the standard attribute that is used to hold organization names,
396   * formatted in all lowercase.
397   */
398  public static final String ATTR_O = "o";
399
400
401
402  /**
403   * The name of the standard attribute that is used to hold organizational unit
404   * names, formatted in all lowercase.
405   */
406  public static final String ATTR_OU = "ou";
407
408
409
410  /**
411   * The name of the standard attribute that is used to specify the name of the
412   * Directory Server product, formatted in camel case.
413   */
414  public static final String ATTR_PRODUCT_NAME = "productName";
415
416
417
418  /**
419   * The name of the standard attribute that is used to specify the name of the
420   * Directory Server product, formatted in all lowercase.
421   */
422  public static final String ATTR_PRODUCT_NAME_LC = "productname";
423
424
425
426  /**
427   * The name of the standard attribute that is used to specify the set of
428   * referral URLs in a smart referral entry, formatted in all lowercase.
429   */
430  public static final String ATTR_REFERRAL_URL = "ref";
431
432
433
434  /**
435   * The name of the standard attribute that is used to hold surnames, formatted
436   * in all lowercase.
437   */
438  public static final String ATTR_SN = "sn";
439
440
441
442  /**
443   * The name of the standard attribute that is used to specify the location
444   * for the Directory Server schema, formatted in camel case.
445   */
446  public static final String ATTR_SUBSCHEMA_SUBENTRY = "subschemaSubentry";
447
448
449
450  /**
451   * The name of the standard attribute that is used to specify the location
452   * for the Directory Server schema, formatted in all lowercase.
453   */
454  public static final String ATTR_SUBSCHEMA_SUBENTRY_LC = "subschemasubentry";
455
456
457
458  /**
459   * The name of the standard attribute that is used to specify the names of the
460   * authentication password schemes supported by the server, formatted in
461   * camel case.
462   */
463  public static final String ATTR_SUPPORTED_AUTH_PW_SCHEMES =
464       "supportedAuthPasswordSchemes";
465
466
467
468  /**
469   * The name of the standard attribute that is used to specify the names of the
470   * authentication password schemes supported by the server, formatted in all
471   * lowercase.
472   */
473  public static final String ATTR_SUPPORTED_AUTH_PW_SCHEMES_LC =
474       "supportedauthpasswordschemes";
475
476
477
478  /**
479   * The name of the standard attribute that is used to specify the OIDs of the
480   * controls supported by the server, formatted in camel case.
481   */
482  public static final String ATTR_SUPPORTED_CONTROL = "supportedControl";
483
484
485
486  /**
487   * The name of the standard attribute that is used to specify the OIDs of the
488   * controls supported by the server, formatted in all lowercase.
489   */
490  public static final String ATTR_SUPPORTED_CONTROL_LC = "supportedcontrol";
491
492
493
494  /**
495   * The name of the standard attribute that is used to specify the OIDs of the
496   * extended operations supported by the server, formatted in camel case.
497   */
498  public static final String ATTR_SUPPORTED_EXTENSION = "supportedExtension";
499
500
501
502  /**
503   * The name of the standard attribute that is used to specify the OIDs of the
504   * extended operations supported by the server, formatted in all lowercase.
505   */
506  public static final String ATTR_SUPPORTED_EXTENSION_LC = "supportedextension";
507
508
509
510  /**
511   * The name of the standard attribute that is used to specify the OIDs of the
512   * features supported by the server, formatted in camel case.
513   */
514  public static final String ATTR_SUPPORTED_FEATURE = "supportedFeatures";
515
516
517
518  /**
519   * The name of the standard attribute that is used to specify the OIDs of the
520   * features supported by the server, formatted in all lowercase.
521   */
522  public static final String ATTR_SUPPORTED_FEATURE_LC = "supportedfeatures";
523
524
525
526  /**
527   * The name of the standard attribute that is used to specify the names of the
528   * LDAP protocol versions supported by the server, formatted in camel case.
529   */
530  public static final String ATTR_SUPPORTED_LDAP_VERSION =
531       "supportedLDAPVersion";
532
533
534
535  /**
536   * The name of the standard attribute that is used to specify the names of the
537   * LDAP protocol versions supported by the server, formatted in all lowercase.
538   */
539  public static final String ATTR_SUPPORTED_LDAP_VERSION_LC =
540       "supportedldapversion";
541
542
543
544  /**
545   * The name of the standard attribute that is used to specify the names of the
546   * SASL mechanisms supported by the server, formatted in camel case.
547   */
548  public static final String ATTR_SUPPORTED_SASL_MECHANISMS =
549       "supportedSASLMechanisms";
550
551
552
553  /**
554   * The name of the standard attribute that is used to specify the names of the
555   * SASL mechanisms supported by the server, formatted in all lowercase.
556   */
557  public static final String ATTR_SUPPORTED_SASL_MECHANISMS_LC =
558       "supportedsaslmechanisms";
559
560
561
562  /**
563   * The name of the standard attribute that is used to specify the versions of
564   * the TLS protocol supported by the server, formatted in camel case.
565   */
566  public static final String ATTR_SUPPORTED_TLS_PROTOCOLS =
567      "supportedTLSProtocols";
568
569
570
571  /**
572   * The name of the standard attribute that is used to specify the versions of
573   * the TLS protocol supported by the server, formatted in lower case.
574   */
575  public static final String ATTR_SUPPORTED_TLS_PROTOCOLS_LC =
576      "supportedtlsprotocols";
577
578
579
580  /**
581   * The name of the standard attribute that is used to specify the the TLS
582   * ciphers supported by the server, formatted in camel case.
583   */
584  public static final String ATTR_SUPPORTED_TLS_CIPHERS =
585      "supportedTLSCiphers";
586
587
588
589  /**
590   * The name of the standard attribute that is used to specify the the TLS
591   * ciphers supported by the server, formatted in lower case.
592   */
593  public static final String ATTR_SUPPORTED_TLS_CIPHERS_LC =
594      "supportedtlsciphers";
595
596
597
598  /**
599   * The name of the attribute that is used to specify the time that the
600   * Directory Server started, formatted in camel case.
601   */
602  public static final String ATTR_START_TIME = "startTime";
603
604
605
606  /**
607   * The name of the attribute that is used to specify the time that the
608   * Directory Server started, formatted in all lowercase.
609   */
610  public static final String ATTR_START_TIME_LC = "starttime";
611
612
613
614  /**
615   * The name of the attribute that is used to specify the DN of the target
616   * group for a virtual static group.
617   */
618  public static final String ATTR_TARGET_GROUP_DN = "ds-target-group-dn";
619
620
621
622  /**
623   * The name of the attribute that is used to specify the connection ID of the
624   * connection to disconnect.
625   */
626  public static final String ATTR_TASK_DISCONNECT_CONN_ID =
627       "ds-task-disconnect-connection-id";
628
629
630
631  /**
632   * The name of the attribute that is used to specify the disconnect message.
633   */
634  public static final String ATTR_TASK_DISCONNECT_MESSAGE =
635       "ds-task-disconnect-message";
636
637
638
639  /**
640   * The name of the attribute that is used to indicate whether to notify the
641   * connection it is about to be terminated.
642   */
643  public static final String ATTR_TASK_DISCONNECT_NOTIFY_CLIENT =
644       "ds-task-disconnect-notify-client";
645
646
647
648  /**
649   * The name of the attribute that is used to specify the total number of
650   * connections established since startup, formatted in camel case.
651   */
652  public static final String ATTR_TOTAL_CONNS = "totalConnections";
653
654
655
656  /**
657   * The name of the attribute that is used to specify the total number of
658   * connections established since startup, formatted in all lowercase.
659   */
660  public static final String ATTR_TOTAL_CONNS_LC = "totalconnections";
661
662
663
664  /**
665   * The name of the standard "uniqueMember" attribute type, formatted in
666   * camelCase.
667   */
668  public static final String ATTR_UNIQUE_MEMBER = "uniqueMember";
669
670
671
672  /**
673   * The name of the standard "uniqueMember" attribute type, formatted in all
674   * lowercase characters.
675   */
676  public static final String ATTR_UNIQUE_MEMBER_LC = "uniquemember";
677
678
679
680  /**
681   * The name of the attribute that is used to specify the length of time that
682   * the server has been online, formatted in camel case.
683   */
684  public static final String ATTR_UP_TIME = "upTime";
685
686
687
688  /**
689   * The name of the attribute that is used to specify the length of time that
690   * the server has been online, formatted in all lowercase.
691   */
692  public static final String ATTR_UP_TIME_LC = "uptime";
693
694
695
696  /**
697   * The name of the standard attribute that is used to specify the password for
698   * a user, formatted in all lowercase.
699   */
700  public static final String ATTR_USER_PASSWORD = "userpassword";
701
702
703
704  /**
705   * The name of the standard attribute that is used to specify vendor name for
706   * the Directory Server, formatted in camel case.
707   */
708  public static final String ATTR_VENDOR_NAME = "vendorName";
709
710
711
712  /**
713   * The name of the standard attribute that is used to specify vendor name for
714   * the Directory Server, formatted in all lowercase.
715   */
716  public static final String ATTR_VENDOR_NAME_LC = "vendorname";
717
718
719
720  /**
721   * The name of the standard attribute that is used to specify vendor version
722   * for the Directory Server, formatted in camel case.
723   */
724  public static final String ATTR_VENDOR_VERSION = "vendorVersion";
725
726
727
728  /**
729   * The name of the standard attribute that is used to specify vendor version
730   * for the Directory Server, formatted in all lowercase.
731   */
732  public static final String ATTR_VENDOR_VERSION_LC = "vendorversion";
733
734
735
736  /**
737   * The name of the standard objectclass that is used to indicate that an entry
738   * is an alias, formatted in all lowercase.
739   */
740  public static final String OC_ALIAS = "alias";
741
742
743
744  /**
745   * The name of the standard objectclass, formatted in all lowercase, that is
746   * used to indicate that an entry describes a country.
747   */
748  public static final String OC_COUNTRY = "country";
749
750
751
752  /**
753   * The name of the standard objectclass, formatted in all lowercase, that is
754   * used to indicate that an entry describes a domain.
755   */
756  public static final String OC_DOMAIN = "domain";
757
758
759  /**
760   * The name of the standard objectclass that is used to allow any attribute
761   * type to be present in an entry, formatted in camel case.
762   */
763  public static final String OC_EXTENSIBLE_OBJECT = "extensibleObject";
764
765
766  /**
767   * The name of the standard objectclass that is used to allow any attribute
768   * type to be present in an entry, formatted in all lowercase characters.
769   */
770  public static final String OC_EXTENSIBLE_OBJECT_LC = "extensibleobject";
771
772
773
774  /**
775   * The name of the standard "groupOfEntries" object class, formatted in
776   * camelCase.
777   */
778  public static final String OC_GROUP_OF_ENTRIES = "groupOfEntries";
779
780
781
782  /**
783   * The name of the standard "groupOfEntries" object class, formatted in all
784   * lowercase characters.
785   */
786  public static final String OC_GROUP_OF_ENTRIES_LC = "groupofentries";
787
788
789
790  /**
791   * The name of the standard "groupOfNames" object class, formatted in
792   * camelCase.
793   */
794  public static final String OC_GROUP_OF_NAMES = "groupOfNames";
795
796
797
798  /**
799   * The name of the standard "groupOfNames" object class, formatted in all
800   * lowercase characters.
801   */
802  public static final String OC_GROUP_OF_NAMES_LC = "groupofnames";
803
804
805
806  /**
807   * The name of the standard "groupOfUniqueNames" object class, formatted in
808   * camelCase.
809   */
810  public static final String OC_GROUP_OF_UNIQUE_NAMES = "groupOfUniqueNames";
811
812
813
814  /**
815   * The name of the standard "groupOfUniqueNames" object class, formatted in
816   * all lowercase characters.
817   */
818  public static final String OC_GROUP_OF_UNIQUE_NAMES_LC = "groupofuniquenames";
819
820
821
822  /**
823   * The name of the standard "groupOfURLs" object class, formatted in camel
824   * case.
825   */
826  public static final String OC_GROUP_OF_URLS = "groupOfURLs";
827
828
829
830  /**
831   * The name of the standard "groupOfURLs" object class, formatted in all
832   * lowercase characters.
833   */
834  public static final String OC_GROUP_OF_URLS_LC = "groupofurls";
835
836
837  /**
838   * The name of the objectclass that will be used as the structural class for
839   * monitor entries.
840   */
841  public static final String OC_CHANGELOG_ENTRY = "changeLogEntry";
842
843
844  /**
845   * The request OID for the cancel extended operation.
846   */
847  public static final String OID_CANCEL_REQUEST = "1.3.6.1.1.8";
848
849
850
851  /**
852   * The OID for the extensibleObject objectclass.
853   */
854  public static final String OID_EXTENSIBLE_OBJECT =
855       "1.3.6.1.4.1.1466.101.120.111";
856
857
858
859  /**
860   * The OID for the extended operation that can be used to get the client
861   * connection ID.  It will be both the request and response OID.
862   */
863  public static final String OID_GET_CONNECTION_ID_EXTOP =
864       "1.3.6.1.4.1.26027.1.6.2";
865
866
867
868  /**
869   * The request OID for the password modify extended operation.
870   */
871  public static final String OID_PASSWORD_MODIFY_REQUEST =
872       "1.3.6.1.4.1.4203.1.11.1";
873
874
875
876  /**
877   * The OID for the password policy state extended operation (both the request
878   * and response types).
879   */
880  public static final String OID_PASSWORD_POLICY_STATE_EXTOP =
881       "1.3.6.1.4.1.26027.1.6.1";
882
883
884
885  /**
886   * The request OID for the StartTLS extended operation.
887   */
888  public static final String OID_START_TLS_REQUEST = "1.3.6.1.4.1.1466.20037";
889
890
891
892  /**
893   * The request OID for the "Who Am I?" extended operation.
894   */
895  public static final String OID_WHO_AM_I_REQUEST =
896       "1.3.6.1.4.1.4203.1.11.3";
897
898
899
900  /**
901   * The request OID for the get symmetric key extended operation.
902   */
903  public static final String OID_GET_SYMMETRIC_KEY_EXTENDED_OP =
904       "1.3.6.1.4.1.26027.1.6.3";
905
906
907
908  /**
909   * The name of the standard "ldapSubentry" objectclass (which is a special
910   * type of objectclass that makes a kind of "operational" entry), formatted
911   * in camel case.
912   */
913  public static final String OC_LDAP_SUBENTRY = "ldapSubentry";
914
915
916
917  /**
918   * The name of the standard "ldapSubentry" objectclass (which is a special
919   * type of objectclass that makes a kind of "operational" entry), formatted
920   * in all lowercase.
921   */
922  public static final String OC_LDAP_SUBENTRY_LC = "ldapsubentry";
923
924
925
926  /**
927   * The name of the RFC 3672 "subentry" objectclass (which is a special
928   * type of objectclass that makes a kind of "operational" entry),
929   * formatted in all lowercase.
930   */
931  public static final String OC_SUBENTRY = "subentry";
932
933
934
935  /**
936   * The name of the RFC 3671 "collectiveAttributeSubentry" objectclass
937   * (which is a special type of objectclass that makes a kind of shared
938   * attributes subentry), formatted in camel case.
939   */
940  public static final String OC_COLLECTIVE_ATTR_SUBENTRY =
941          "collectiveAttributeSubentry";
942
943
944
945  /**
946   * The name of the RFC 3671 "collectiveAttributeSubentry" objectclass
947   * (which is a special type of objectclass that makes a kind of shared
948   * attributes subentry), formatted in all lowercase.
949   */
950  public static final String OC_COLLECTIVE_ATTR_SUBENTRY_LC =
951          "collectiveattributesubentry";
952
953
954
955  /**
956   * The name of the "inheritedCollectiveAttributeSubentry" objectclass
957   * (which is a special type of objectclass that makes a kind of COS
958   * template subentry), formatted in camel case.
959   */
960  public static final String OC_INHERITED_COLLECTIVE_ATTR_SUBENTRY =
961          "inheritedCollectiveAttributeSubentry";
962
963
964
965  /**
966   * The name of the "inheritedCollectiveAttributeSubentry" objectclass
967   * (which is a special type of objectclass that makes a kind of COS
968   * template subentry), formatted in all lowercase.
969   */
970  public static final String OC_INHERITED_COLLECTIVE_ATTR_SUBENTRY_LC =
971          "inheritedcollectiveattributesubentry";
972
973
974
975  /**
976   * The name of the "inheritedFromDNCollectiveAttributeSubentry" objectclass
977   * (which is a special type of objectclass that makes a kind of indirect
978   * COS template subentry), formatted in camel case.
979   */
980  public static final String OC_INHERITED_FROM_DN_COLLECTIVE_ATTR_SUBENTRY =
981          "inheritedFromDNCollectiveAttributeSubentry";
982
983
984
985  /**
986   * The name of the "inheritedFromDNCollectiveAttributeSubentry" objectclass
987   * (which is a special type of objectclass that makes a kind of indirect
988   * COS template subentry), formatted in all lowercase.
989   */
990  public static final String OC_INHERITED_FROM_DN_COLLECTIVE_ATTR_SUBENTRY_LC =
991          "inheritedfromdncollectiveattributesubentry";
992
993
994
995  /**
996   * The name of the "inheritedFromRDNCollectiveAttributeSubentry" objectclass
997   * (which is a special type of objectclass that makes a kind of classic
998   * COS template subentry), formatted in camel case.
999   */
1000  public static final String OC_INHERITED_FROM_RDN_COLLECTIVE_ATTR_SUBENTRY =
1001          "inheritedFromRDNCollectiveAttributeSubentry";
1002
1003
1004
1005  /**
1006   * The name of the "inheritedFromRDNCollectiveAttributeSubentry" objectclass
1007   * (which is a special type of objectclass that makes a kind of classic
1008   * COS template subentry), formatted in all lowercase.
1009   */
1010  public static final String OC_INHERITED_FROM_RDN_COLLECTIVE_ATTR_SUBENTRY_LC =
1011          "inheritedfromrdncollectiveattributesubentry";
1012
1013
1014
1015  /**
1016   * The name of the LDAP Password Policy Internet-Draft
1017   * "pwdPolicy" objectclass, formatted in camel case.
1018   */
1019  public static final String OC_PWD_POLICY_SUBENTRY = "pwdPolicy";
1020
1021
1022
1023  /**
1024   * The name of the LDAP Password Policy Internet-Draft
1025   * "pwdPolicy" objectclass, formatted in all lowercase.
1026   */
1027  public static final String OC_PWD_POLICY_SUBENTRY_LC = "pwdpolicy";
1028
1029
1030
1031  /**
1032   * The name of the custom objectclass that will be included in backend monitor
1033   * entries.
1034   */
1035  public static final String OC_MONITOR_BACKEND = "ds-backend-monitor-entry";
1036
1037
1038
1039  /**
1040   * The name of the custom objectclass that will be included in connection
1041   * handler monitor entries.
1042   */
1043  public static final String OC_MONITOR_CONNHANDLER =
1044       "ds-connectionhandler-monitor-entry";
1045  /**
1046   * The name of the custom objectclass that will be included in connection
1047   * handler statistics monitor entries.
1048   */
1049  public static final String OC_MONITOR_CONNHANDLERSTATS =
1050          "ds-connectionhandler-statistics-monitor-entry";
1051
1052
1053  /**
1054   * The name of the objectclass that will be used as the structural class for
1055   * monitor entries.
1056   */
1057  public static final String OC_MONITOR_ENTRY = "ds-monitor-entry";
1058
1059   /**
1060   * The name of the objectclass that will be used as the structural class for
1061   * monitor branches.
1062   */
1063  public static final String OC_MONITOR_BRANCH = "ds-mon-branch";
1064
1065
1066  /**
1067   * The name of the standard objectclass, formatted in all lowercase, that is
1068   * used to indicate that an entry describes an organization.
1069   */
1070  public static final String OC_ORGANIZATION = "organization";
1071
1072
1073
1074  /**
1075   * The name of the standard objectclass that is  used to indicate that an
1076   * entry describes an organizational unit.
1077   */
1078  public static final String OC_ORGANIZATIONAL_UNIT = "organizationalUnit";
1079
1080
1081
1082  /**
1083   * The name of the organizationalUnit objectclass formatted in all lowercase
1084   * characters.
1085   */
1086  public static final String OC_ORGANIZATIONAL_UNIT_LC = "organizationalunit";
1087
1088
1089
1090  /**
1091   * The name of the person objectclass, formatted in all lowercase characters.
1092   */
1093  public static final String OC_PERSON = "person";
1094
1095
1096
1097  /**
1098   * The name of the standard objectclass that is used to indicate that an entry
1099   * is a smart referral, formatted in all lowercase.
1100   */
1101  public static final String OC_REFERRAL = "referral";
1102
1103
1104
1105  /**
1106   * The name of the structural objectclass that will be used for the Directory
1107   * Server root DSE entry.
1108   */
1109  public static final String OC_ROOT_DSE = "ds-root-dse";
1110
1111
1112
1113  /**
1114   * The name of the standard "subschema" objectclass (which is used in entries
1115   * that publish schema information), formatted in all lowercase.
1116   */
1117  public static final String OC_SUBSCHEMA = "subschema";
1118
1119
1120
1121
1122  /**
1123   * The name of the standard "top" objectclass, which is the superclass for
1124   * virtually all other objectclasses, formatted in all lowercase.
1125   */
1126  public static final String OC_TOP= "top";
1127
1128
1129
1130  /**
1131   * The name of the objectclass that can be used for generic entries for which
1132   * we don't have any other type of objectclass that is more appropriate.
1133   */
1134  public static final String OC_UNTYPED_OBJECT = "untypedObject";
1135
1136
1137
1138  /**
1139   * The name of the untypedObject objectclass in all lowercase characters.
1140   */
1141  public static final String OC_UNTYPED_OBJECT_LC = "untypedobject";
1142
1143
1144
1145  /**
1146   * The name of the ds-virtual-static-group objectclass in all lowercase
1147   * characters.
1148   */
1149  public static final String OC_VIRTUAL_STATIC_GROUP =
1150       "ds-virtual-static-group";
1151
1152
1153
1154  /**
1155   * The English name for the basic disabled log severity used for all
1156   * log severities.
1157   */
1158  public static final String LOG_SEVERITY_DISABLED = "disabled";
1159
1160  /**
1161   * The English name for the basic all log severity used for all log
1162   * severities.
1163   */
1164  public static final String LOG_SEVERITY_ALL = "all";
1165
1166  /**
1167   * The English name for the basic none log severity used to log
1168   * no error message beside some specific category.
1169   */
1170  public static final String LOG_SEVERITY_NONE = "none";
1171
1172
1173  /**
1174   * The English name for the error log category used for access control
1175   * processing.
1176   */
1177  public static final String ERROR_CATEGORY_ACCESS_CONTROL = "access-control";
1178
1179
1180
1181  /**
1182   * The English name for the error log category used for backend processing.
1183   */
1184  public static final String ERROR_CATEGORY_BACKEND = "backend";
1185
1186
1187
1188  /**
1189   * The English name for the error log category used for configuration
1190   * processing.
1191   */
1192  public static final String ERROR_CATEGORY_CONFIG = "config";
1193
1194
1195
1196  /**
1197   * The English name for the error log category used for client connection
1198   * handling.
1199   */
1200  public static final String ERROR_CATEGORY_CONNECTION_HANDLING = "connection";
1201
1202
1203
1204  /**
1205   * The English name for the error log category used for core server
1206   * processing.
1207   */
1208  public static final String ERROR_CATEGORY_CORE_SERVER = "core";
1209
1210
1211  /**
1212   * The English name for the error log category used for extended operation
1213   * processing.
1214   */
1215  public static final String ERROR_CATEGORY_EXTENDED_OPERATION = "extended-op";
1216
1217
1218
1219  /**
1220   * The English name for the error log category used for server extension
1221   * processing.
1222   */
1223  public static final String ERROR_CATEGORY_EXTENSIONS = "extensions";
1224
1225
1226
1227  /**
1228   * The English name for the error log category used for password policy
1229   * processing.
1230   */
1231  public static final String ERROR_CATEGORY_PASSWORD_POLICY = "pw-policy";
1232
1233
1234
1235  /**
1236   * The English name for the error log category used for plugin processing.
1237   */
1238  public static final String ERROR_CATEGORY_PLUGIN = "plugin";
1239
1240
1241
1242  /**
1243   * The English name for the error log category used for request handling.
1244   */
1245  public static final String ERROR_CATEGORY_REQUEST = "request";
1246
1247
1248
1249  /**
1250   * The English name for the error log category used for SASL processing.
1251   */
1252  public static final String ERROR_CATEGORY_SASL_MECHANISM = "sasl";
1253
1254
1255
1256  /**
1257   * The English name for the error log category used for schema processing.
1258   */
1259  public static final String ERROR_CATEGORY_SCHEMA = "schema";
1260
1261
1262
1263  /**
1264   * The English name for the error log category used for shutdown processing.
1265   */
1266  public static final String ERROR_CATEGORY_SHUTDOWN = "shutdown";
1267
1268
1269
1270  /**
1271   * The English name for the error log category used for startup processing.
1272   */
1273  public static final String ERROR_CATEGORY_STARTUP = "startup";
1274
1275
1276
1277  /**
1278   * The English name for the error log category used for synchronization
1279   * processing.
1280   */
1281  public static final String ERROR_CATEGORY_SYNCHRONIZATION = "sync";
1282
1283
1284
1285  /**
1286   * The English name for the error log category used for task processing.
1287   */
1288  public static final String ERROR_CATEGORY_TASK = "task";
1289
1290
1291
1292  /**
1293   * The English name for the error log severity used for fatal error messages.
1294   */
1295  public static final String ERROR_SEVERITY_ERROR = "error";
1296
1297  /**
1298   * The English name for the error log severity used for informational
1299   * messages.
1300   */
1301  public static final String ERROR_SEVERITY_INFORMATIONAL = "info";
1302
1303
1304  /**
1305   * The English name for the error log severity used for warning messages.
1306   */
1307  public static final String ERROR_SEVERITY_WARNING = "warning";
1308
1309
1310  /**
1311   * The English name for the error log severity used for important
1312   * informational messages.
1313   */
1314  public static final String ERROR_SEVERITY_NOTICE = "notice";
1315
1316
1317  /**
1318   * The domain that will be used for JMX MBeans defined within the Directory
1319   * Server.
1320   */
1321  public static final String MBEAN_BASE_DOMAIN = "org.opends.server";
1322
1323
1324
1325  /**
1326   * The description for the alert type that will be used for the alert
1327   * notification generated if the access control handler is disabled.
1328   */
1329  public static final String ALERT_DESCRIPTION_ACCESS_CONTROL_DISABLED =
1330       "This alert type will be used to notify administrators that the " +
1331       "access control handler has been disabled.";
1332
1333
1334
1335  /**
1336   * The alert type string that will be used for the alert notification
1337   * generated if the access control handler is disabled.
1338   */
1339  public static final String ALERT_TYPE_ACCESS_CONTROL_DISABLED =
1340       "org.opends.server.AccessControlDisabled";
1341
1342
1343
1344  /**
1345   * The description for the alert type that will be used for the alert
1346   * notification generated if the access control handler is enabled.
1347   */
1348  public static final String ALERT_DESCRIPTION_ACCESS_CONTROL_ENABLED =
1349       "This alert type will be used to notify administrators that the " +
1350       "access control handler has been enabled.";
1351
1352
1353
1354  /**
1355   * The alert type string that will be used for the alert notification
1356   * generated if the access control handler is enabled.
1357   */
1358  public static final String ALERT_TYPE_ACCESS_CONTROL_ENABLED =
1359       "org.opends.server.AccessControlEnabled";
1360
1361
1362
1363  /**
1364   * The description for the alert type that will be used for the alert
1365   * notification generated if an error occurs while attempting to rename the
1366   * current tasks backing file.
1367   */
1368  public static final String ALERT_DESCRIPTION_CANNOT_RENAME_CURRENT_TASK_FILE =
1369           "This alert type will be used to notify administrators if the " +
1370           "Directory Server is unable to rename the current tasks backing " +
1371           "file in the process of trying to write an updated version.";
1372
1373
1374
1375  /**
1376   * The alert type string that will be used for the alert notification
1377   * generated if an error occurs while attempting to rename the current tasks
1378   * backing file.
1379   */
1380  public static final String ALERT_TYPE_CANNOT_RENAME_CURRENT_TASK_FILE =
1381       "org.opends.server.CannotRenameCurrentTaskFile";
1382
1383
1384
1385  /**
1386   * The description for the alert type that will be used for the alert
1387   * notification generated if an error occurs while attempting to rename the
1388   * new tasks backing file.
1389   */
1390  public static final String ALERT_DESCRIPTION_CANNOT_RENAME_NEW_TASK_FILE =
1391           "This alert type will be used to notify administrators if the " +
1392           "Directory Server is unable to rename the new tasks backing " +
1393           "file into place.";
1394
1395
1396
1397  /**
1398   * The alert type string that will be used for the alert notification
1399   * generated if an error occurs while attempting to rename the new tasks
1400   * backing file.
1401   */
1402  public static final String ALERT_TYPE_CANNOT_RENAME_NEW_TASK_FILE =
1403       "org.opends.server.CannotRenameNewTaskFile";
1404
1405
1406
1407  /**
1408   * The description for the alert type that will be used for the alert
1409   * notification generated if an error occurs while attempting to schedule an
1410   * iteration of a recurring task.
1411   */
1412  public static final String
1413       ALERT_DESCRIPTION_CANNOT_SCHEDULE_RECURRING_ITERATION =
1414           "This alert type will be used to notify administrators if the " +
1415           "Directory Server is unable to schedule an iteration of a " +
1416           "recurring task.";
1417
1418
1419
1420  /**
1421   * The alert type string that will be used for the alert notification
1422   * generated if an error occurs while attempting to schedule an iteration of a
1423   * recurring task.
1424   */
1425  public static final String ALERT_TYPE_CANNOT_SCHEDULE_RECURRING_ITERATION =
1426       "org.opends.server.CannotScheduleRecurringIteration";
1427
1428
1429
1430  /**
1431   * The description for the alert type that will be used for the alert
1432   * notification generated if a problem occurs while attempting to write the
1433   * Directory Server configuration to disk.
1434   */
1435  public static final String ALERT_DESCRIPTION_CANNOT_WRITE_CONFIGURATION =
1436      "This alert type will be used to notify administrators if the " +
1437      "Directory Server is unable to write its updated configuration for " +
1438      "some reason and therefore the server may not exhibit the new " +
1439      "configuration if it is restarted.";
1440
1441
1442
1443  /**
1444   * The alert type string that will be used for the alert notification
1445   * generated if a problem occurs while attempting to write the Directory
1446   * Server configuration to disk.
1447   */
1448  public static final String ALERT_TYPE_CANNOT_WRITE_CONFIGURATION =
1449       "org.opends.server.CannotWriteConfig";
1450
1451
1452
1453  /**
1454   * The description for the alert type that will be used for the alert
1455   * notification generated upon entering lockdown mode.
1456   */
1457  public static final String ALERT_DESCRIPTION_ENTERING_LOCKDOWN_MODE =
1458       "This alert type will be used to notify administrators that the " +
1459       "Directory Server is entering lockdown mode, in which only root " +
1460       "users will be allowed to perform operations and only over the " +
1461       "loopback address.";
1462
1463
1464
1465  /**
1466   * The alert type that will be used when the Directory Server enters lockdown
1467   * mode.
1468   */
1469  public static final String ALERT_TYPE_ENTERING_LOCKDOWN_MODE =
1470       "org.opends.server.EnteringLockdownMode";
1471
1472
1473
1474  /**
1475   * The description for the alert type that will be used for the alert
1476   * notification generated upon leaving lockdown mode.
1477   */
1478  public static final String ALERT_DESCRIPTION_LEAVING_LOCKDOWN_MODE =
1479       "This alert type will be used to notify administrators that the " +
1480       "Directory Server is leaving lockdown mode.";
1481
1482
1483
1484  /**
1485   * The alert type that will be used when the Directory Server leaves lockdown
1486   * mode.
1487   */
1488  public static final String ALERT_TYPE_LEAVING_LOCKDOWN_MODE =
1489       "org.opends.server.LeavingLockdownMode";
1490
1491
1492
1493  /**
1494   * The description for the alert type that will be used for the alert
1495   * notification generated if the server detects that the configuration has
1496   * been manually edited with the server online and those edits would have been
1497   * lost by an online config change.
1498   */
1499  public static final String ALERT_DESCRIPTION_MANUAL_CONFIG_EDIT_HANDLED =
1500      "This alert type will be used to notify administrators if the " +
1501      "Directory Server detects that its configuration has been manually " +
1502      "edited with the server online and those changes were overwritten by " +
1503      "another change made through the server.  The manually-edited " +
1504      "configuration will be copied to another location.";
1505
1506
1507
1508  /**
1509   * The alert type string that will be used for the alert notification
1510   * generated if a problem occurs while attempting to write the Directory
1511   * Server configuration to disk.
1512   */
1513  public static final String ALERT_TYPE_MANUAL_CONFIG_EDIT_HANDLED =
1514       "org.opends.server.ManualConfigEditHandled";
1515
1516
1517
1518  /**
1519   * The description for the alert type that will be used for the alert
1520   * notification generated if the server detects that the configuration has
1521   * been manually edited with the server online, but a problem occurred while
1522   * trying to preserve the manual changes that may have caused them to be lost.
1523   */
1524  public static final String ALERT_DESCRIPTION_MANUAL_CONFIG_EDIT_LOST =
1525      "This alert type will be used to notify administrators if the " +
1526      "Directory Server detects that its configuration has been manually " +
1527      "edited with the server online and those changes were overwritten by " +
1528      "another change made through the server.  The manually-edited " +
1529      "configuration could not be preserved due to an unexpected error.";
1530
1531
1532
1533  /**
1534   * The alert type string that will be used for the alert notification
1535   * generated if a problem occurs while attempting to write the Directory
1536   * Server configuration to disk.
1537   */
1538  public static final String ALERT_TYPE_MANUAL_CONFIG_EDIT_LOST =
1539       "org.opends.server.ManualConfigEditLost";
1540
1541
1542
1543  /**
1544   * The description for the alert type that will be used for the alert
1545   * notification generated if an error occurs while attempting to write the
1546   * tasks backing file.
1547   */
1548  public static final String ALERT_DESCRIPTION_CANNOT_WRITE_TASK_FILE =
1549           "This alert type will be used to notify administrators if the " +
1550           "Directory Server is unable to write an updated tasks backing " +
1551           "file for some reason.";
1552
1553
1554
1555  /**
1556   * The alert type string that will be used for the alert notification
1557   * generated if an error occurs while attempting to write the tasks backing
1558   * file.
1559   */
1560  public static final String ALERT_TYPE_CANNOT_WRITE_TASK_FILE =
1561       "org.opends.server.CannotWriteTaskFile";
1562
1563
1564
1565  /**
1566   * The description for the alert type that will be used for the alert
1567   * notification generated if consecutive failures in the LDAP connection
1568   * handler have caused it to become disabled.
1569   */
1570  public static final String
1571       ALERT_DESCRIPTION_LDAP_CONNECTION_HANDLER_CONSECUTIVE_FAILURES =
1572            "This alert type will be used to notify administrators of " +
1573            "consecutive failures that have occurred in the LDAP connection " +
1574            "handler that have caused it to become disabled.";
1575
1576
1577
1578  /**
1579   * The alert type string that will be used for the alert notification
1580   * generated if consecutive failures in the LDAP connection handler have
1581   * caused it to become disabled.
1582   */
1583  public static final String
1584       ALERT_TYPE_LDAP_CONNECTION_HANDLER_CONSECUTIVE_FAILURES =
1585            "org.opends.server.LDAPHandlerDisabledByConsecutiveFailures";
1586
1587  /**
1588   * The description for the alert type that will be used for the alert
1589   * notification generated if consecutive failures in the HTTP connection
1590   * handler have caused it to become disabled.
1591   */
1592  public static final String
1593      ALERT_DESCRIPTION_HTTP_CONNECTION_HANDLER_CONSECUTIVE_FAILURES =
1594          "This alert type will be used to notify administrators of " +
1595          "consecutive failures that have occurred in the HTTP connection " +
1596          "handler that have caused it to become disabled.";
1597
1598  /**
1599   * The alert type string that will be used for the alert notification
1600   * generated if consecutive failures in the HTTP connection handler have
1601   * caused it to become disabled.
1602   */
1603  public static final String
1604      ALERT_TYPE_HTTP_CONNECTION_HANDLER_CONSECUTIVE_FAILURES =
1605          "org.opends.server.HTTPHandlerDisabledByConsecutiveFailures";
1606
1607
1608  /**
1609   * The description for the alert type that will be used for the alert
1610   * notification generated if the LDAP connection handler encountered an
1611   * unexpected error that has caused it to become disabled.
1612   */
1613  public static final String
1614       ALERT_DESCRIPTION_LDAP_CONNECTION_HANDLER_UNCAUGHT_ERROR =
1615            "This alert type will be used to notify administrators of " +
1616            "uncaught errors in the LDAP connection handler that have caused " +
1617            "it to become disabled.";
1618
1619
1620
1621  /**
1622   * The alert type string that will be used for the alert notification
1623   * generated if the LDAP connection handler encountered an unexpected error
1624   * that has caused it to become disabled.
1625   */
1626  public static final String
1627       ALERT_TYPE_LDAP_CONNECTION_HANDLER_UNCAUGHT_ERROR =
1628            "org.opends.server.LDAPHandlerUncaughtError";
1629
1630
1631
1632  /**
1633   * The description for the alert type that will be used for the alert
1634   * notification generated when the Directory Server has completed its startup
1635   * process.
1636   */
1637  public static final String ALERT_DESCRIPTION_SERVER_STARTED =
1638      "This alert type will be used to provide notification that the " +
1639      "Directory Server has completed its startup process.";
1640
1641
1642
1643  /**
1644   * The alert type string that will be used for the alert notification
1645   * generated when the Directory Server has completed its startup process.
1646   */
1647  public static final String ALERT_TYPE_SERVER_STARTED =
1648       "org.opends.server.DirectoryServerStarted";
1649
1650
1651
1652  /**
1653   * The description for the alert type that will be used for the alert
1654   * notification generated when the Directory Server has started the shutdown
1655   * process.
1656   */
1657  public static final String ALERT_DESCRIPTION_SERVER_SHUTDOWN =
1658      "This alert type will be used to provide notification that the " +
1659      "Directory Server has begun the process of shutting down.";
1660
1661
1662
1663  /**
1664   * The alert type string that will be used for the alert notification
1665   * generated when the Directory Server has started the shutdown process.
1666   */
1667  public static final String ALERT_TYPE_SERVER_SHUTDOWN =
1668       "org.opends.server.DirectoryServerShutdown";
1669
1670
1671
1672  /**
1673   * The description for the alert type that will be used for the alert
1674   * notification generated by a thread that has died because of an uncaught
1675   * exception.
1676   */
1677  public static final String ALERT_DESCRIPTION_UNCAUGHT_EXCEPTION =
1678       "This alert type will be used if a Directory Server thread has " +
1679       "encountered an uncaught exception that caused that thread to " +
1680       "terminate abnormally.  The impact that this problem has on the " +
1681       "server depends on which thread was impacted and the nature of the " +
1682       "exception.";
1683
1684
1685
1686  /**
1687   * The alert type string that will be used for the alert notification
1688   * generated by a thread that has died because of an uncaught exception.
1689   */
1690  public static final String ALERT_TYPE_UNCAUGHT_EXCEPTION =
1691       "org.opends.server.UncaughtException";
1692
1693
1694
1695  /**
1696   * The description for the alert type that will be used for the alert
1697   * notification generated if a problem occurs while creating copies of the
1698   * existing schema configuration files and a problem occurs that leaves the
1699   * schema configuration in a potentially inconsistent state.
1700   */
1701  public static final String ALERT_DESCRIPTION_CANNOT_COPY_SCHEMA_FILES =
1702      "This alert type will be used to notify administrators if a problem " +
1703      "occurs while attempting to create copies of the existing schema " +
1704      "configuration files before making a schema update, and the schema " +
1705      "configuration is left in a potentially inconsistent state.";
1706
1707
1708
1709  /**
1710   * The alert type string that will be used for the alert notification
1711   * generated if a problem occurs while creating copies of the existing schema
1712   * files in a manner that may leave the schema configuration inconsistent.
1713   */
1714  public static final String ALERT_TYPE_CANNOT_COPY_SCHEMA_FILES =
1715       "org.opends.server.CannotCopySchemaFiles";
1716
1717
1718
1719  /**
1720   * The description for the alert type that will be used for the alert
1721   * notification generated if a problem occurs while writing new versions of
1722   * the server schema configuration files and a problem occurs that leaves the
1723   * schema configuration in a potentially inconsistent state.
1724   */
1725  public static final String ALERT_DESCRIPTION_CANNOT_WRITE_NEW_SCHEMA_FILES =
1726      "This alert type will be used to notify administrators if a problem " +
1727      "occurs while attempting to write new versions of the server schema " +
1728      "configuration files, and the schema configuration is left in a " +
1729      "potentially inconsistent state.";
1730
1731
1732
1733  /**
1734   * The alert type string that will be used for the alert notification
1735   * generated if a problem occurs while writing new versions of the server
1736   * schema files in a manner that may leave the schema configuration
1737   * inconsistent.
1738   */
1739  public static final String ALERT_TYPE_CANNOT_WRITE_NEW_SCHEMA_FILES =
1740       "org.opends.server.CannotWriteNewSchemaFiles";
1741
1742
1743
1744  /**
1745   * The description for the alert type that will be used for the alert
1746   * notification generated if the dseecompat access control subsystem failed
1747   * to parse one or more ACI rules when the server is first started or a
1748   * backend is being initialized.
1749   */
1750  public static final String ALERT_DESCRIPTION_ACCESS_CONTROL_PARSE_FAILED =
1751          "This alert type will be used to notify administrators if the  " +
1752             "dseecompat access control subsystem failed to correctly parse " +
1753             "one or more ACI rules when the server is first started.";
1754
1755
1756
1757  /**
1758   * The alert type string that will be used for the alert notification
1759   * generated if the dseecompat access control subsystem failed to parse
1760   * one or more ACI rules when the server is first started or a backend
1761   * is being initialized.
1762   */
1763  public static final String ALERT_TYPE_ACCESS_CONTROL_PARSE_FAILED =
1764          "org.opends.server.authentiation.dseecompat.ACIParseFailed";
1765
1766
1767
1768  /**
1769   * The description for the alert type that will be used for the alert
1770   * notification generated when the JE Environment needs to be reopened
1771   * after a RunRecoveryException is thrown.
1772   */
1773  public static final String ALERT_DESCRIPTION_BACKEND_ENVIRONMENT_UNUSABLE =
1774      "This alert type will be used to provide notification that the " +
1775      "JE backend throws a RunRecoveryException and Directory Server " +
1776          "needs to be restarted.";
1777
1778
1779
1780  /**
1781   * The alert type string that will be used for the alert notification
1782   * generated when the JE Environment needs to be reopened by restarting
1783   * the Directory Server.
1784   */
1785  public static final String ALERT_TYPE_BACKEND_ENVIRONMENT_UNUSABLE =
1786       "org.opends.server.BackendRunRecovery";
1787
1788
1789
1790  /**
1791   * The description for the alert type that will be used for the alert
1792   * notification generated when the free disk space has reached
1793   * the low threshold.
1794   */
1795  public static final String ALERT_DESCRIPTION_DISK_SPACE_LOW =
1796      "This alert type will be used to provide notification that the " +
1797      "free disk space has reached the low threshold.";
1798
1799
1800
1801  /**
1802   * The alert type string that will be used for the alert notification
1803   * generated when the JE Environment needs to be reopened by restarting
1804   * the Directory Server.
1805   */
1806  public static final String ALERT_TYPE_DISK_SPACE_LOW =
1807       "org.opends.server.DiskSpaceLow";
1808
1809
1810
1811  /**
1812   * The description for the alert type that will be used for the alert
1813   * notification generated when the free disk space has reached
1814   * the full threshold.
1815   */
1816  public static final String ALERT_DESCRIPTION_DISK_FULL =
1817      "This alert type will be used to provide notification that the " +
1818      "free disk space has reached the full threshold.";
1819
1820
1821
1822  /**
1823   * The alert type string that will be used for the alert notification
1824   * generated when the JE Environment needs to be reopened by restarting
1825   * the Directory Server.
1826   */
1827  public static final String ALERT_TYPE_DISK_FULL =
1828       "org.opends.server.DiskFull";
1829
1830
1831
1832  /**
1833   * The description for the alert type that will be used for the alert
1834   * notification generated when the LDIF backend cannot write an updated LDIF
1835   * file.
1836   */
1837  public static final String
1838       ALERT_DESCRIPTION_LDIF_BACKEND_CANNOT_WRITE_UPDATE =
1839            "This alert type will be used to provide notification that an " +
1840            "LDIF backend was unable to store an updated copy of the LDIF " +
1841            "file after processing a write operation.";
1842
1843
1844
1845  /**
1846   * The alert type string that will be used for the alert notification
1847   * generated when the LDIF backend cannot write an updated LDIF file.
1848   */
1849  public static final String ALERT_TYPE_LDIF_BACKEND_CANNOT_WRITE_UPDATE =
1850       "org.opends.server.LDIFBackendCannotWriteUpdate";
1851
1852
1853
1854  /**
1855   * The description for the alert type that will be used for the alert
1856   * notification generated when the LDIF connection handler is unable to
1857   * process the contents of a file as valid LDIF.
1858   */
1859  public static final String ALERT_DESCRIPTION_LDIF_CONNHANDLER_PARSE_ERROR =
1860       "This alert type will be used to provide notification that the " +
1861       "LDIF connection handler encountered an unrecoverable error while " +
1862       "attempting to parse an LDIF file.";
1863
1864
1865
1866  /**
1867   * The alert type string that will be used for the alert notification
1868   * generated when the LDIF connection handler is unable to process the
1869   * contents of a file as valid LDIF.
1870   */
1871  public static final String ALERT_TYPE_LDIF_CONNHANDLER_PARSE_ERROR =
1872       "org.opends.server.LDIFConnectionHandlerParseError";
1873
1874
1875
1876  /**
1877   * The description for the alert type that will be used for the alert
1878   * notification generated if an I/O error occurs while attempting to
1879   * read or write LDIF content.
1880   */
1881  public static final String ALERT_DESCRIPTION_LDIF_CONNHANDLER_IO_ERROR =
1882       "This alert type will be used to provide notification that the " +
1883       "LDIF connection handler encountered an I/O error that prevented it " +
1884       "from completing its processing.";
1885
1886
1887
1888  /**
1889   * The alert type string that will be used for the alert notification
1890   * generated if an I/O error occurs while attempting to  read or write LDIF
1891   * content.
1892   */
1893  public static final String ALERT_TYPE_LDIF_CONNHANDLER_IO_ERROR =
1894       "org.opends.server.LDIFConnectionHandlerIOError";
1895
1896
1897
1898  /**
1899   * The description for the alert type that will be used for the alert
1900   * notification generated if a unique attribute conflict is detected during
1901   * synchronization processing.
1902   */
1903  public static final String ALERT_DESCRIPTION_UNIQUE_ATTR_SYNC_CONFLICT =
1904       "This alert type will be used to provide notification that a unique " +
1905       "attribute conflict has been detected during synchronization " +
1906       "processing.";
1907
1908
1909
1910  /**
1911   * The alert type string that will be used for the alert notification
1912   * generated if a unique attribute conflict is detected during synchronization
1913   * processing.
1914   */
1915  public static final String ALERT_TYPE_UNIQUE_ATTR_SYNC_CONFLICT =
1916       "org.opends.server.UniqueAttributeSynchronizationConflict";
1917
1918
1919
1920  /**
1921   * The description for the alert type that will be used for the alert
1922   * notification generated if an error occurs while attempting to perform
1923   * unique attribute conflict detection during synchronization processing.
1924   */
1925  public static final String ALERT_DESCRIPTION_UNIQUE_ATTR_SYNC_ERROR =
1926       "This alert type will be used to provide notification that an error " +
1927       "occurred while attempting to perform unique attribute conflict " +
1928       "detection during synchronization processing.";
1929
1930
1931
1932  /**
1933   * The alert type string that will be used for the alert notification
1934   * generated if an error occurs while attempting to perform unique attribute
1935   * conflict detection during synchronization processing.
1936   */
1937  public static final String ALERT_TYPE_UNIQUE_ATTR_SYNC_ERROR =
1938       "org.opends.server.UniqueAttributeSynchronizationError";
1939
1940
1941
1942  /**
1943   * The name of the default password storage scheme that will be used for new
1944   * passwords.
1945   */
1946  public static final String DEFAULT_PASSWORD_STORAGE_SCHEME = "SSHA";
1947
1948
1949
1950  /**
1951   * The maximum depth to which nested search filters will be processed.  This
1952   * can prevent stack overflow errors from filters that look like
1953   * "(&(&(&(&(&(&(&(&(&....".
1954   */
1955  public static final int MAX_NESTED_FILTER_DEPTH = 100;
1956
1957
1958
1959  /**
1960   * Default maximum size for cached protocol/entry encoding buffers.
1961   */
1962  public static final int DEFAULT_MAX_INTERNAL_BUFFER_SIZE = 32 * 1024;
1963
1964
1965
1966  /**
1967   * The OID for the attribute type that represents the "objectclass" attribute.
1968   */
1969  public static final String OBJECTCLASS_ATTRIBUTE_TYPE_OID = "2.5.4.0";
1970
1971
1972
1973  /**
1974   * The name of the attribute type that represents the "objectclass" attribute,
1975   * formatted in all lowercase characters.
1976   */
1977  public static final String OBJECTCLASS_ATTRIBUTE_TYPE_NAME = "objectclass";
1978
1979
1980
1981  /**
1982   * The value that will be used for the vendorName attribute in the root DSE.
1983   */
1984  public static final String SERVER_VENDOR_NAME = "ForgeRock AS.";
1985
1986
1987
1988  /**
1989   * The name of the security mechanism that will be used for connections whose
1990   * communication is protected using the confidentiality features of
1991   * DIGEST-MD5.
1992   */
1993  public static final String SECURITY_MECHANISM_DIGEST_MD5_CONFIDENTIALITY =
1994       "DIGEST-MD5 Confidentiality";
1995
1996
1997
1998  /**
1999   * The name of the security mechanism that will be used for connections whose
2000   * communication is protected using the confidentiality features of Kerberos.
2001   */
2002  public static final String SECURITY_MECHANISM_KERBEROS_CONFIDENTIALITY =
2003       "Kerberos Confidentiality";
2004
2005
2006  /**
2007   * The name of the default protocol used.
2008   */
2009  public static final String SASL_DEFAULT_PROTOCOL = "ldap";
2010
2011
2012
2013  /**
2014   * The name of the security mechanism that will be used for connections
2015   * established using SSL.
2016   */
2017  public static final String SECURITY_MECHANISM_SSL = "SSL";
2018
2019
2020
2021  /**
2022   * The name of the security mechanism that will be used for connections that
2023   * have established a secure session through StartTLS.
2024   */
2025  public static final String SECURITY_MECHANISM_START_TLS = "StartTLS";
2026
2027
2028
2029  /**
2030   * The name of the SASL mechanism that does not provide any authentication but
2031   * rather uses anonymous access.
2032   */
2033  public static final String SASL_MECHANISM_ANONYMOUS = "ANONYMOUS";
2034
2035
2036
2037  /**
2038   * The name of the SASL mechanism based on external authentication.
2039   */
2040  public static final String SASL_MECHANISM_EXTERNAL = "EXTERNAL";
2041
2042
2043
2044  /**
2045   * The name of the SASL mechanism based on CRAM-MD5 authentication.
2046   */
2047  public static final String SASL_MECHANISM_CRAM_MD5 = "CRAM-MD5";
2048
2049
2050
2051  /**
2052   * The name of the SASL mechanism based on DIGEST-MD5 authentication.
2053   */
2054  public static final String SASL_MECHANISM_DIGEST_MD5 = "DIGEST-MD5";
2055
2056
2057
2058  /**
2059   * The name of the SASL mechanism based on GSS-API authentication.
2060   */
2061  public static final String SASL_MECHANISM_GSSAPI = "GSSAPI";
2062
2063
2064
2065  /**
2066   * The name of the SASL mechanism based on PLAIN authentication.
2067   */
2068  public static final String SASL_MECHANISM_PLAIN = "PLAIN";
2069
2070
2071
2072  /**
2073   * The name of the security mechanism that will be used for connections whose
2074   * communication only SASL authenticated.
2075   */
2076  public static final String SASL_MECHANISM_AUTHENTICATION_ONLY =
2077       "none";
2078
2079
2080
2081  /**
2082   * The name of the security mechanism that will be used for connections whose
2083   * communication is protected using the confidentiality features SASL.
2084   */
2085  public static final String SASL_MECHANISM_CONFIDENTIALITY =
2086       "confidentiality";
2087
2088
2089
2090  /**
2091   * The name of the security mechanism that will be used for connections whose
2092   * communication is verified using SASL integrity.
2093   */
2094  public static final String SASL_MECHANISM_INTEGRITY =
2095       "integrity";
2096
2097
2098
2099  /**
2100   * The OID for the account usable request and response controls.
2101   */
2102  public static final String OID_ACCOUNT_USABLE_CONTROL =
2103       "1.3.6.1.4.1.42.2.27.9.5.8";
2104
2105
2106  /**
2107   *  The OID for the entry change request control.
2108   *  FIXME:ECL ask for OID_ECL_REQUEST_CONTROL
2109   */
2110  public static final String OID_ECL_COOKIE_EXCHANGE_CONTROL =
2111    "1.3.6.1.4.1.26027.1.5.4";
2112
2113
2114  /**
2115   * The IANA-assigned OID for the feature allowing a user to request that all
2116   * operational attributes be returned.
2117   */
2118  public static final String OID_ALL_OPERATIONAL_ATTRS_FEATURE =
2119       "1.3.6.1.4.1.4203.1.5.1";
2120
2121
2122
2123  /**
2124   * The OID for the authorization identity request control.
2125   */
2126  public static final String OID_AUTHZID_REQUEST = "2.16.840.1.113730.3.4.16";
2127
2128
2129
2130  /**
2131   * The OID for the authorization identity response control.
2132   */
2133  public static final String OID_AUTHZID_RESPONSE = "2.16.840.1.113730.3.4.15";
2134
2135
2136
2137  /**
2138   * The OID for the entry change notification control.
2139   */
2140  public static final String OID_ENTRY_CHANGE_NOTIFICATION =
2141       "2.16.840.1.113730.3.4.7";
2142
2143
2144
2145  /**
2146   * The OID for the control that will be included in modifications used to
2147   * alter group membership.
2148   */
2149  public static final String OID_INTERNAL_GROUP_MEMBERSHIP_UPDATE =
2150       "1.3.6.1.4.1.26027.1.5.1";
2151
2152
2153
2154  /**
2155   * The OID to include in the supportedFeatures list of the Directory Server
2156   * to indicate that it supports requesting attributes by objectclass.
2157   */
2158  public static final String OID_LDAP_ADLIST_FEATURE = "1.3.6.1.4.1.4203.1.5.2";
2159
2160
2161
2162  /**
2163   * The IANA-assigned OID for the LDAP assertion control.
2164   */
2165  public static final String OID_LDAP_ASSERTION = "1.3.6.1.1.12";
2166
2167
2168
2169  /**
2170   * The OID for the LDAP no-op control that was originally assigned in the
2171   * initial draft (draft-zeilenga-ldap-noop-00) from the OpenLDAP private
2172   * range.  Note that this reference has been removed in later drafts, but
2173   * given that at this time no official OID is assigned, we will use it for
2174   * now, and will continue to support it in the future (along with the real
2175   * OID).
2176   */
2177  public static final String OID_LDAP_NOOP_OPENLDAP_ASSIGNED =
2178       "1.3.6.1.4.1.4203.1.10.2";
2179
2180
2181
2182  /**
2183   * The IANA-assigned OID for the LDAP readentry control used for retrieving an
2184   * entry in the state it had immediately before an update was applied.
2185   */
2186  public static final String OID_LDAP_READENTRY_PREREAD =
2187       "1.3.6.1.1.13.1";
2188
2189
2190
2191  /**
2192   * The IANA-assigned OID for the LDAP readentry control used for retrieving an
2193   * entry in the state it had immediately after an update was applied.
2194   */
2195  public static final String OID_LDAP_READENTRY_POSTREAD =
2196       "1.3.6.1.1.13.2";
2197
2198
2199
2200  /**
2201   * The OID for the LDAP subentries control as defined in RFC 3672, which is
2202   * used to indicate that matching subentries should be returned.
2203   */
2204  public static final String OID_LDAP_SUBENTRIES = "1.3.6.1.4.1.4203.1.10.1";
2205
2206
2207
2208  /**
2209   * The OID for the LDAP subentries control as defined in the legacy
2210   * draft-ietf-ldup-subentry internet draft, which is used to indicate that
2211   * matching subentries should be returned.
2212   */
2213  public static final String OID_LDUP_SUBENTRIES = "1.3.6.1.4.1.7628.5.101.1";
2214
2215
2216
2217  /**
2218   * The OID for the matched values control used to specify which particular
2219   * attribute values should be returned in a search result entry.
2220   */
2221  public static final String OID_MATCHED_VALUES = "1.2.826.0.1.3344810.2.3";
2222
2223
2224
2225  /**
2226   * The IANA-assigned OID for the feature allowing the use of the increment
2227   * modification type.
2228   */
2229  public static final String OID_MODIFY_INCREMENT_FEATURE = "1.3.6.1.1.14";
2230
2231
2232
2233  /**
2234   * The OID for the Netscape password expired control.
2235   */
2236  public static final String OID_NS_PASSWORD_EXPIRED =
2237       "2.16.840.1.113730.3.4.4";
2238
2239
2240
2241  /**
2242   * The OID for the Netscape password expiring control.
2243   */
2244  public static final String OID_NS_PASSWORD_EXPIRING =
2245       "2.16.840.1.113730.3.4.5";
2246
2247
2248
2249  /**
2250   * The OID for the password policy control from
2251   * draft-behera-ldap-password-policy.
2252   */
2253  public static final String OID_PASSWORD_POLICY_CONTROL =
2254       "1.3.6.1.4.1.42.2.27.8.5.1";
2255
2256
2257
2258  /**
2259   * The OID for the persistent search control.
2260   */
2261  public static final String OID_PERSISTENT_SEARCH = "2.16.840.1.113730.3.4.3";
2262
2263
2264
2265  /**
2266   * The OID for the proxied authorization v1 control.
2267   */
2268  public static final String OID_PROXIED_AUTH_V1 = "2.16.840.1.113730.3.4.12";
2269
2270
2271
2272  /**
2273   * The OID for the proxied authorization v2 control.
2274   */
2275  public static final String OID_PROXIED_AUTH_V2 = "2.16.840.1.113730.3.4.18";
2276
2277
2278   /**
2279   * The OID for the get effective rights control.
2280   */
2281  public static final String OID_GET_EFFECTIVE_RIGHTS =
2282                                                    "1.3.6.1.4.1.42.2.27.9.5.2";
2283
2284
2285  /**
2286   * The OID for the real attributes only control.
2287   */
2288  public static final String OID_REAL_ATTRS_ONLY = "2.16.840.1.113730.3.4.17";
2289
2290
2291
2292  /**
2293   * The OID for the subtree delete control.
2294   */
2295  public static final String OID_SUBTREE_DELETE_CONTROL =
2296       "1.2.840.113556.1.4.805";
2297
2298  /**
2299   * The OID for the transactionId control.
2300   */
2301  public static final String OID_TRANSACTION_ID_CONTROL = "1.3.6.1.4.1.36733.2.1.5.1";
2302
2303  /**
2304   * The OID for the paged results control defined in RFC 2696.
2305   */
2306  public static final String OID_PAGED_RESULTS_CONTROL =
2307       "1.2.840.113556.1.4.319";
2308
2309
2310
2311  /**
2312   * The OID for the ManageDsaIT control defined in RFC 3296.
2313   */
2314  public static final String OID_MANAGE_DSAIT_CONTROL =
2315       "2.16.840.1.113730.3.4.2";
2316
2317
2318  /**
2319   * The OID for the Permissive Modify control, defined and used by MSAD.
2320   */
2321  public static final String OID_PERMISSIVE_MODIFY_CONTROL =
2322      "1.2.840.113556.1.4.1413";
2323
2324
2325  /**
2326   * The OID for the server-side sort request control.
2327   */
2328  public static final String OID_SERVER_SIDE_SORT_REQUEST_CONTROL =
2329       "1.2.840.113556.1.4.473";
2330
2331
2332
2333  /**
2334   * The OID for the server-side sort response control.
2335   */
2336  public static final String OID_SERVER_SIDE_SORT_RESPONSE_CONTROL =
2337       "1.2.840.113556.1.4.474";
2338
2339
2340
2341  /**
2342   * The IANA-assigned OID for the feature allowing the use of LDAP true and
2343   * false filters.
2344   */
2345  public static final String OID_TRUE_FALSE_FILTERS_FEATURE =
2346       "1.3.6.1.4.1.4203.1.5.3";
2347
2348
2349
2350  /**
2351   * The OID for the virtual attributes only control.
2352   */
2353  public static final String OID_VIRTUAL_ATTRS_ONLY =
2354       "2.16.840.1.113730.3.4.19";
2355
2356
2357
2358  /**
2359   * The OID for the virtual list view request control.
2360   */
2361  public static final String OID_VLV_REQUEST_CONTROL =
2362       "2.16.840.1.113730.3.4.9";
2363
2364
2365
2366  /**
2367   * The OID for the virtual list view request control.
2368   */
2369  public static final String OID_VLV_RESPONSE_CONTROL =
2370       "2.16.840.1.113730.3.4.10";
2371
2372  /**
2373   * The OID for the CSN control.
2374   */
2375  public static final String OID_CSN_CONTROL =
2376       "1.3.6.1.4.1.42.2.27.9.5.9";
2377
2378  /**
2379   * The block length in bytes used when generating an HMAC-MD5 digest.
2380   */
2381  public static final int HMAC_MD5_BLOCK_LENGTH = 64;
2382
2383
2384
2385  /**
2386   * The number of bytes in a raw MD5 digest.
2387   */
2388  public static final int MD5_DIGEST_LENGTH = 16;
2389
2390
2391
2392  /**
2393   * The inner pad byte, which will be XORed with the shared secret for the
2394   * first CRAM-MD5 digest.
2395   */
2396  public static final byte CRAMMD5_IPAD_BYTE = 0x36;
2397
2398
2399
2400  /**
2401   * The outer pad byte, which will be XORed with the shared secret for the
2402   * second CRAM-MD5 digest.
2403   */
2404  public static final byte CRAMMD5_OPAD_BYTE = 0x5C;
2405
2406
2407
2408  /**
2409   * The name of the JAAS login module for Kerberos V.
2410   */
2411  public static final String JAAS_MODULE_KRB5 =
2412       "com.sun.security.auth.module.Krb5LoginModule";
2413
2414
2415
2416  /**
2417   * The name of the JAAS property that specifies the path to the login
2418   * configuration file.
2419   */
2420  public static final String JAAS_PROPERTY_CONFIG_FILE =
2421       "java.security.auth.login.config";
2422
2423
2424
2425  /**
2426   * The name of the JAAS property that indicates whether to allow JAAS
2427   * credentials to come from somewhere other than a GSS mechanism.
2428   */
2429  public static final String JAAS_PROPERTY_SUBJECT_CREDS_ONLY =
2430       "javax.security.auth.useSubjectCredsOnly";
2431
2432
2433
2434  /**
2435   * The name of the Kerberos V property that specifies the address of the KDC.
2436   */
2437  public static final String KRBV_PROPERTY_KDC = "java.security.krb5.kdc";
2438
2439
2440
2441  /**
2442   * The name of the Kerberos V property that specifies the realm to use.
2443   */
2444  public static final String KRBV_PROPERTY_REALM = "java.security.krb5.realm";
2445
2446
2447
2448  /**
2449   * The name of the file (without path information) that should be used to hold
2450   * information about the backups contained in that directory.
2451   */
2452  public static final String BACKUP_DIRECTORY_DESCRIPTOR_FILE = "backup.info";
2453
2454
2455
2456  /**
2457   * The name of the backup property that holds the base name of the archive
2458   * file containing the contents of the backup.
2459   */
2460  public static final String BACKUP_PROPERTY_ARCHIVE_FILENAME = "archive_file";
2461
2462
2463
2464  /**
2465   * The name of the backup property that holds the name of the digest algorithm
2466   * used to generate the hash of a backup.
2467   */
2468  public static final String BACKUP_PROPERTY_DIGEST_ALGORITHM =
2469       "digest_algorithm";
2470
2471
2472
2473  /**
2474   * The name of the backup property that holds the identifer of the key entry
2475   * that contains the MAC algorithm and shared secret key used to generate
2476   * the signed hash of a backup.
2477   */
2478  public static final String BACKUP_PROPERTY_MAC_KEY_ID = "mac_key_id";
2479
2480
2481
2482  /**
2483   * The base filename to use for the archive file containing a backup of the
2484   * server configuration.
2485   */
2486  public static final String CONFIG_BACKUP_BASE_FILENAME = "config-backup-";
2487
2488
2489
2490  /**
2491   * The base filename to use for the archive file containing a backup of the
2492   * server schema.
2493   */
2494  public static final String SCHEMA_BACKUP_BASE_FILENAME = "schema-backup-";
2495
2496
2497
2498  /**
2499   * The base filename to use for the archive file containing a backup of the
2500   * task backend.
2501   */
2502  public static final String TASKS_BACKUP_BASE_FILENAME = "tasks-backup-";
2503
2504
2505
2506  /**
2507   * The name of the directory in which lock files will be placed.
2508   */
2509  public static final String LOCKS_DIRECTORY = "locks";
2510
2511
2512
2513  /**
2514   * The prefix that will be used for lock filenames used for Directory Server
2515   * backends.
2516   */
2517  public static final String BACKEND_LOCK_FILE_PREFIX = "backend-";
2518
2519
2520
2521  /**
2522   * The name that will be used for the server-wide lock to prevent multiple
2523   * instances of the server from running concurrently.
2524   */
2525  public static final String SERVER_LOCK_FILE_NAME = "server";
2526
2527
2528
2529  /**
2530   * The suffix that will be used for all lock files created by the Directory
2531   * Server.
2532   */
2533  public static final String LOCK_FILE_SUFFIX = ".lock";
2534
2535
2536
2537  /**
2538   * The name of the schema extension that will be used to specify the
2539   * approximate matching rule that should be used for a given attribute type.
2540   */
2541  public static final String SCHEMA_PROPERTY_APPROX_RULE = "X-APPROX";
2542
2543
2544
2545  /**
2546   * The name of the schema property that will be used to specify the path to
2547   * the schema file from which the schema element was loaded.
2548   */
2549  public static final String SCHEMA_PROPERTY_FILENAME = "X-SCHEMA-FILE";
2550
2551  /**
2552   * The name of the schema property that will be used to specify the origin
2553   * of a schema element.
2554   */
2555  public static final String SCHEMA_PROPERTY_ORIGIN = "X-ORIGIN";
2556
2557  /**
2558   * The abbreviated unit that should be used for a size specified in bytes.
2559   */
2560  public static final String SIZE_UNIT_BYTES_ABBR = "b";
2561
2562
2563
2564  /**
2565   * The full unit that should be used for a size specified in bytes.
2566   */
2567  public static final String SIZE_UNIT_BYTES_FULL = "bytes";
2568
2569
2570
2571  /**
2572   * The abbreviated unit that should be used for a size specified in kilobytes.
2573   */
2574  public static final String SIZE_UNIT_KILOBYTES_ABBR = "kb";
2575
2576
2577
2578  /**
2579   * The full unit that should be used for a size specified in kilobytes.
2580   */
2581  public static final String SIZE_UNIT_KILOBYTES_FULL = "kilobytes";
2582
2583
2584
2585  /**
2586   * The abbreviated unit that should be used for a size specified in kibibytes.
2587   */
2588  public static final String SIZE_UNIT_KIBIBYTES_ABBR = "kib";
2589
2590
2591
2592  /**
2593   * The full unit that should be used for a size specified in kibibytes.
2594   */
2595  public static final String SIZE_UNIT_KIBIBYTES_FULL = "kibibytes";
2596
2597
2598
2599  /**
2600   * The abbreviated unit that should be used for a size specified in megabytes.
2601   */
2602  public static final String SIZE_UNIT_MEGABYTES_ABBR = "mb";
2603
2604
2605
2606  /**
2607   * The full unit that should be used for a size specified in megabytes.
2608   */
2609  public static final String SIZE_UNIT_MEGABYTES_FULL = "megabytes";
2610
2611
2612
2613  /**
2614   * The abbreviated unit that should be used for a size specified in mebibytes.
2615   */
2616  public static final String SIZE_UNIT_MEBIBYTES_ABBR = "mib";
2617
2618
2619
2620  /**
2621   * The full unit that should be used for a size specified in mebibytes.
2622   */
2623  public static final String SIZE_UNIT_MEBIBYTES_FULL = "mebibytes";
2624
2625
2626
2627  /**
2628   * The abbreviated unit that should be used for a size specified in gigabytes.
2629   */
2630  public static final String SIZE_UNIT_GIGABYTES_ABBR = "gb";
2631
2632
2633
2634  /**
2635   * The full unit that should be used for a size specified in gigabytes.
2636   */
2637  public static final String SIZE_UNIT_GIGABYTES_FULL = "gigabytes";
2638
2639
2640
2641  /**
2642   * The abbreviated unit that should be used for a size specified in gibibytes.
2643   */
2644  public static final String SIZE_UNIT_GIBIBYTES_ABBR = "gib";
2645
2646
2647
2648  /**
2649   * The full unit that should be used for a size specified in gibibytes.
2650   */
2651  public static final String SIZE_UNIT_GIBIBYTES_FULL = "gibibytes";
2652
2653
2654
2655  /**
2656   * The abbreviated unit that should be used for a size specified in terabytes.
2657   */
2658  public static final String SIZE_UNIT_TERABYTES_ABBR = "tb";
2659
2660
2661
2662  /**
2663   * The full unit that should be used for a size specified in terabytes.
2664   */
2665  public static final String SIZE_UNIT_TERABYTES_FULL = "terabytes";
2666
2667
2668
2669  /**
2670   * The abbreviated unit that should be used for a size specified in tebibytes.
2671   */
2672  public static final String SIZE_UNIT_TEBIBYTES_ABBR = "tib";
2673
2674
2675
2676  /**
2677   * The full unit that should be used for a size specified in tebibytes.
2678   */
2679  public static final String SIZE_UNIT_TEBIBYTES_FULL = "tebibytes";
2680
2681
2682
2683  /**
2684   * The abbreviated unit that should be used for a time specified in
2685   * nanoseconds.
2686   */
2687  public static final String TIME_UNIT_NANOSECONDS_ABBR = "ns";
2688
2689
2690
2691  /**
2692   * The full unit that should be used for a time specified in nanoseconds.
2693   */
2694  public static final String TIME_UNIT_NANOSECONDS_FULL = "nanoseconds";
2695
2696
2697
2698  /**
2699   * The abbreviated unit that should be used for a time specified in
2700   * microseconds.
2701   */
2702  public static final String TIME_UNIT_MICROSECONDS_ABBR = "us";
2703
2704
2705
2706  /**
2707   * The full unit that should be used for a time specified in microseconds.
2708   */
2709  public static final String TIME_UNIT_MICROSECONDS_FULL = "microseconds";
2710
2711
2712
2713  /**
2714   * The abbreviated unit that should be used for a time specified in
2715   * milliseconds.
2716   */
2717  public static final String TIME_UNIT_MILLISECONDS_ABBR = "ms";
2718
2719
2720
2721  /**
2722   * The full unit that should be used for a time specified in milliseconds.
2723   */
2724  public static final String TIME_UNIT_MILLISECONDS_FULL = "milliseconds";
2725
2726
2727
2728  /**
2729   * The abbreviated unit that should be used for a time specified in seconds.
2730   */
2731  public static final String TIME_UNIT_SECONDS_ABBR = "s";
2732
2733
2734
2735  /**
2736   * The full unit that should be used for a time specified in seconds.
2737   */
2738  public static final String TIME_UNIT_SECONDS_FULL = "seconds";
2739
2740
2741
2742  /**
2743   * The abbreviated unit that should be used for a time specified in minutes.
2744   */
2745  public static final String TIME_UNIT_MINUTES_ABBR = "m";
2746
2747
2748
2749  /**
2750   * The full unit that should be used for a time specified in minutes.
2751   */
2752  public static final String TIME_UNIT_MINUTES_FULL = "minutes";
2753
2754
2755
2756  /**
2757   * The abbreviated unit that should be used for a time specified in hours.
2758   */
2759  public static final String TIME_UNIT_HOURS_ABBR = "h";
2760
2761
2762
2763  /**
2764   * The full unit that should be used for a time specified in hours.
2765   */
2766  public static final String TIME_UNIT_HOURS_FULL = "hours";
2767
2768
2769
2770  /**
2771   * The abbreviated unit that should be used for a time specified in days.
2772   */
2773  public static final String TIME_UNIT_DAYS_ABBR = "d";
2774
2775
2776
2777  /**
2778   * The full unit that should be used for a time specified in days.
2779   */
2780  public static final String TIME_UNIT_DAYS_FULL = "days";
2781
2782
2783
2784  /**
2785   * The abbreviated unit that should be used for a time specified in weeks.
2786   */
2787  public static final String TIME_UNIT_WEEKS_ABBR = "w";
2788
2789
2790
2791  /**
2792   * The full unit that should be used for a time specified in weeks.
2793   */
2794  public static final String TIME_UNIT_WEEKS_FULL = "weeks";
2795
2796  /**
2797   * The name of the system property that can be used to specify the path to the
2798   * configuration file that should be used to initialize the config handler.
2799   */
2800  public static final String PROPERTY_CONFIG_FILE =
2801       "org.opends.server.ConfigFile";
2802
2803
2804
2805  /**
2806   * The name of the system property that can be used to disable any connection
2807   * handler that may be enabled in the server configuration.  This may be used
2808   * to start the server in a mode where it will not accept any external
2809   * connections, but may still be used for processing internal operations.
2810   */
2811  public static final String PROPERTY_DISABLE_CONNECTION_HANDLERS =
2812       "org.opends.server.DisableConnectionHandlers";
2813
2814  /**
2815   * The name of the system property that can be used to disable any
2816   * synchronization provider that may be enabled in the server configuration.
2817   * This may be used to start the server in a mode where it will not accept any
2818   * external connections, but may still be used for processing internal
2819   * operations.
2820   */
2821  public static final String PROPERTY_DISABLE_SYNCHRONIZATION =
2822       "org.opends.server.DisableSynchronization";
2823
2824  /**
2825   * The name of the system property that can be used to disable the
2826   * synchronization between between administration data.
2827   */
2828  public static final String PROPERTY_DISABLE_ADMIN_DATA_SYNCHRONIZATION =
2829       "org.opends.server.DisableAdminDataSynchronization";
2830
2831  /**
2832   * The name of the system property that can be used to indicate whether
2833   * components should be allowed to use the <CODE>Runtime.exec</CODE> method.
2834   * If this property is set and the value is anything other than "false",
2835   * "off", "no", or "0", then components should not allow the use of the
2836   * <CODE>exec</CODE> method.
2837   */
2838  public static final String PROPERTY_DISABLE_EXEC =
2839       "org.opends.server.DisableExec";
2840
2841
2842
2843  /**
2844   * The name of the system property that can be used to determine whether all
2845   * <CODE>DirectoryThread</CODE> instances should be created as daemon threads
2846   * regardless of whether they would otherwise be configured that way.
2847   */
2848  public static final String PROPERTY_FORCE_DAEMON_THREADS =
2849       "org.opends.server.ForceDaemonThreads";
2850
2851
2852
2853  /**
2854   * The name of the system property that can be used to specify the path to the
2855   * directory in which the server lock files should be written.  If this is not
2856   * set, then the server will use a directory named "locks" below the server
2857   * root.  Note that if the server is ever started with a different lock file
2858   * directory than was used for the previous startup, then the server
2859   * administrator must ensure that the instance is not already running.
2860   */
2861  public static final String PROPERTY_LOCK_DIRECTORY =
2862       "org.opends.server.LockDirectory";
2863
2864
2865
2866  /**
2867   * The name of the system property that can be used to specify the concurrency
2868   * level for the lock table.  This should be set to the maximum number of
2869   * threads that could attempt to interact with the lock table at any given
2870   * time.
2871   */
2872  public static final String PROPERTY_LOCK_MANAGER_CONCURRENCY_LEVEL =
2873       "org.opends.server.LockManagerConcurrencyLevel";
2874
2875
2876
2877  /**
2878   * The name of the system property that can be used to specify the initial
2879   * table size for the server lock table.  This can be used to ensure that the
2880   * lock table has the appropriate size for the expected number of locks that
2881   * will be held at any given time.
2882   */
2883  public static final String PROPERTY_LOCK_MANAGER_TABLE_SIZE =
2884       "org.opends.server.LockManagerTableSize";
2885
2886
2887
2888  /**
2889   * The name of the system property that can be used to determine whether the
2890   * server should maintain an archive of previous configurations.  If this is
2891   * not set, or if the value is anything other than "false", then the server
2892   * will maintain a configuration archive.
2893   */
2894  public static final String PROPERTY_MAINTAIN_CONFIG_ARCHIVE =
2895       "org.opends.server.MaintainConfigArchive";
2896
2897
2898
2899  /**
2900   * The name of the system property that can be used to specify the maximum
2901   * number of archived configurations to maintain.  If this is not set, or if
2902   * it set to a zero or negative value, then there will be no limit on the
2903   * number of archived configurations.
2904   */
2905  public static final String PROPERTY_MAX_CONFIG_ARCHIVE_SIZE =
2906       "org.opends.server.MaxConfigArchiveSize";
2907
2908
2909
2910  /**
2911   * The name of the system property that can be used to determine whether the
2912   * Directory Server is starting up for the purpose of running the unit tests.
2913   */
2914  public static final String PROPERTY_RUNNING_UNIT_TESTS =
2915       "org.opends.server.RunningUnitTests";
2916
2917
2918
2919  /**
2920   * The name of the system property that can be used to specify the path to the
2921   * directory in which the schema configuration files may be found.  If this is
2922   * not set, then the server wiill use a directory named "schema" below the
2923   * server root.
2924   */
2925  public static final String PROPERTY_SCHEMA_DIRECTORY =
2926       "org.opends.server.SchemaDirectory";
2927
2928
2929
2930  /**
2931   * The name of a command-line script used to launch an administrative tool.
2932   */
2933  public static final String PROPERTY_SCRIPT_NAME =
2934       "org.opends.server.scriptName";
2935
2936
2937
2938  /**
2939   * The name of the system property that can be used to specify the path to the
2940   * server root.
2941   */
2942  public static final String PROPERTY_SERVER_ROOT =
2943       "org.opends.server.ServerRoot";
2944
2945  /**
2946   * The name of the system property that can be used to specify the path to the
2947   * instance root.
2948   */
2949  public static final String PROPERTY_INSTANCE_ROOT =
2950       "org.opends.server.InstanceRoot";
2951
2952
2953  /**
2954   * The name of the system property that can be used to specify a target
2955   * for the debug logger on startup.
2956   */
2957  public static final String PROPERTY_DEBUG_TARGET =
2958      "org.opends.server.debug.target";
2959
2960  /**
2961   * The name of the system property that can be used to specify a level
2962   * for the error logger on startup.
2963   */
2964  public static final String PROPERTY_ERROR_LEVEL =
2965      "org.opends.server.error.level";
2966
2967  /**
2968   * The name of the system property that can be used to specify if  the entry
2969   * lock manager should use a fair ordering policy.
2970   */
2971  public static final String PROPERTY_LOCK_MANAGER_FAIR_ORDERING =
2972       "org.opends.server.LockManagerFairOrdering";
2973
2974
2975
2976  /**
2977   * The name of the system property that can be used to indicate that the
2978   * Directory Server should attempt to start using the last known good
2979   * configuration, rather than the current active configuration.
2980   */
2981  public static final String PROPERTY_USE_LAST_KNOWN_GOOD_CONFIG =
2982       "org.opends.server.UseLastKnownGoodConfiguration";
2983
2984
2985
2986  /**
2987   * The name that should be used for the file to which the latest complete
2988   * schema data should be concatenated.
2989   */
2990  public static final String SCHEMA_CONCAT_FILE_NAME = "schema.ldif.current";
2991
2992
2993
2994  /**
2995   * The name that should be used for the concatenated schema file generated at
2996   * build time with the base schema for the Subversion revision on which the
2997   * current build is based.  The value of
2998   * {@code DynamicConstants.REVISION_NUMBER} must be appended to this value in
2999   * order to get the full name.
3000   */
3001  public static final String SCHEMA_BASE_FILE_NAME_WITHOUT_REVISION  =
3002       "schema.ldif.";
3003
3004
3005
3006  /** The default SMTP port to use. */
3007  public static final int SMTP_DEFAULT_PORT = 25;
3008
3009
3010  /**
3011   * The name of the JavaMail property that can be used to specify the address
3012   * of the SMTP server.
3013   */
3014  public static final String SMTP_PROPERTY_HOST = "mail.smtp.host";
3015
3016
3017
3018  /**
3019   * The name of the JavaMail property that can be used to specify the port for
3020   * the SMTP server.
3021   */
3022  public static final String SMTP_PROPERTY_PORT = "mail.smtp.port";
3023
3024
3025  /**
3026   * The name of the JavaMail property that can be used to specify the socket
3027   * connection timeout value in milliseconds.
3028   */
3029  public static final String SMTP_PROPERTY_CONNECTION_TIMEOUT =
3030          "mail.smtp.connectiontimeout";
3031
3032
3033  /**
3034   * The name of the JavaMail property that can be used to specify the socket
3035   * I/O timeout value in milliseconds.
3036   */
3037  public static final String SMTP_PROPERTY_IO_TIMEOUT = "mail.smtp.timeout";
3038
3039
3040  /**
3041   * The default timeout value for JavaMail timeout properties.
3042   */
3043  public static final String SMTP_DEFAULT_TIMEOUT_VALUE = "5000";
3044
3045
3046
3047  /**
3048   * The description for the alert type that will be used for the alert
3049   * notification generated if multimaster replication detects
3050   * a conflict that cannot be solved automatically.
3051   */
3052  public static final String ALERT_DESCRIPTION_REPLICATION_UNRESOLVED_CONFLICT =
3053          "This alert type will be used to notify administrators if " +
3054          "multimaster replication cannot resolve a conflict automatically.";
3055
3056
3057  /**
3058   * The alert type string that will be used for the alert notification
3059   * generated if multimaster replication detects
3060   * a conflict that cannot be solved automatically.
3061   */
3062  public static final String ALERT_TYPE_REPLICATION_UNRESOLVED_CONFLICT =
3063          "org.opends.server.replication.UnresolvedConflict";
3064
3065
3066
3067  /**
3068   * The extensible indexer identifier string that will be used for a substring
3069   * type.
3070   */
3071  public static final String EXTENSIBLE_INDEXER_ID_SUBSTRING="substring";
3072
3073
3074
3075  /**
3076   * The extensible indexer identifier string that will be used for a shared
3077   * type.
3078   */
3079  public static final String EXTENSIBLE_INDEXER_ID_SHARED="shared";
3080
3081
3082
3083  /**
3084   * The extensible indexer identifier string that will be used for default
3085   * type.
3086   */
3087  public static final String EXTENSIBLE_INDEXER_ID_DEFAULT="ext";
3088
3089
3090
3091  /**
3092   * The lines that make up the CDDL header.  They will not have any prefix, so
3093   * an appropriate prefix may need to be added for some cases (e.g., "# " for
3094   * shell scripts, "rem " for batch files, etc.).
3095   */
3096  public static final String[] CDDL_HEADER_LINES =
3097  {
3098    "The contents of this file are subject to the terms of the Common Development and",
3099    "Distribution License (the License). You may not use this file except in compliance with the",
3100    "License.",
3101    "",
3102    "You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the",
3103    "specific language governing permission and limitations under the License.",
3104    "",
3105    "When distributing Covered Software, include this CDDL Header Notice in each file and include",
3106    "the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL",
3107    "Header, with the fields enclosed by brackets [] replaced by your own identifying",
3108    "information: \"Portions Copyright [year] [name of copyright owner]\".",
3109    ""
3110  };
3111
3112  /**
3113   * The value representing just one space character.
3114   */
3115  public static final ByteString SINGLE_SPACE_VALUE = ByteString.valueOfUtf8(" ");
3116
3117  /**
3118   * The normalized true value.
3119   */
3120  public static final ByteString TRUE_VALUE = ByteString.valueOfUtf8("TRUE");
3121
3122  /**
3123   * The normalized false value.
3124   */
3125  public static final ByteString FALSE_VALUE = ByteString.valueOfUtf8("FALSE");
3126
3127  /**
3128   * The root Dn for the external change log.
3129   */
3130  public static final String DN_EXTERNAL_CHANGELOG_ROOT = "cn=changelog";
3131
3132  /**
3133   * Enable overcommit of memory in Old Gen space.
3134   */
3135  public static final String ENABLE_MEMORY_OVERCOMMIT = "org.forgerock.opendj.EnableMemoryOvercommit";
3136
3137  /** System property to use for overriding CertAndKeyGen class location. */
3138  public static final String CERTANDKEYGEN_PROVIDER = "org.forgerock.opendj.CertAndKeyGenProvider";
3139
3140}
3141