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