repl_globals.c 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. /** BEGIN COPYRIGHT BLOCK
  2. * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
  3. * Copyright (C) 2005 Red Hat, Inc.
  4. * All rights reserved.
  5. *
  6. * License: GPL (version 3 or any later version).
  7. * See LICENSE for details.
  8. * END COPYRIGHT BLOCK **/
  9. #ifdef HAVE_CONFIG_H
  10. # include <config.h>
  11. #endif
  12. #include "nspr.h"
  13. #include "repl.h"
  14. char *repl_plugin_name = REPL_PLUGIN_NAME;
  15. char *windows_repl_plugin_name = REPL_PLUGIN_NAME " - windows sync";
  16. char *repl_plugin_name_cl = REPL_PLUGIN_NAME " - changelog program";
  17. /* String constants (no need to change these for I18N) */
  18. #define CHANGETYPE_ADD "add"
  19. #define CHANGETYPE_DELETE "delete"
  20. #define CHANGETYPE_MODIFY "modify"
  21. #define CHANGETYPE_MODRDN "modrdn"
  22. #define CHANGETYPE_MODDN "moddn"
  23. #define ATTR_CHANGENUMBER "changenumber"
  24. #define ATTR_TARGETDN "targetdn"
  25. #define ATTR_CHANGETYPE "changetype"
  26. #define ATTR_NEWRDN "newrdn"
  27. #define ATTR_DELETEOLDRDN "deleteoldrdn"
  28. #define ATTR_CHANGES "changes"
  29. #define ATTR_NEWSUPERIOR "newsuperior"
  30. #define ATTR_CHANGETIME "changetime"
  31. #define ATTR_DATAVERSION "dataVersion"
  32. #define ATTR_CSN "csn"
  33. #define TYPE_COPYINGFROM "copyingFrom"
  34. #define TYPE_COPIEDFROM "copiedFrom"
  35. #define FILTER_COPYINGFROM "copyingFrom=*"
  36. #define FILTER_COPIEDFROM "copiedFrom=*"
  37. #define FILTER_OBJECTCLASS "objectclass=*"
  38. char *changetype_add = CHANGETYPE_ADD;
  39. char *changetype_delete = CHANGETYPE_DELETE;
  40. char *changetype_modify = CHANGETYPE_MODIFY;
  41. char *changetype_modrdn = CHANGETYPE_MODRDN;
  42. char *changetype_moddn = CHANGETYPE_MODDN;
  43. char *attr_changenumber = ATTR_CHANGENUMBER;
  44. char *attr_targetdn = ATTR_TARGETDN;
  45. char *attr_changetype = ATTR_CHANGETYPE;
  46. char *attr_newrdn = ATTR_NEWRDN;
  47. char *attr_deleteoldrdn = ATTR_DELETEOLDRDN;
  48. char *attr_changes = ATTR_CHANGES;
  49. char *attr_newsuperior = ATTR_NEWSUPERIOR;
  50. char *attr_changetime = ATTR_CHANGETIME;
  51. char *attr_dataversion = ATTR_DATAVERSION;
  52. char *attr_csn = ATTR_CSN;
  53. char *type_copyingFrom = TYPE_COPYINGFROM;
  54. char *type_copiedFrom = TYPE_COPIEDFROM;
  55. char *filter_copyingFrom = FILTER_COPYINGFROM;
  56. char *filter_copiedFrom = FILTER_COPIEDFROM;
  57. char *filter_objectclass = FILTER_OBJECTCLASS;
  58. char *type_cn = "cn";
  59. char *type_objectclass = "objectclass";
  60. /* Names for replica attributes */
  61. const char *attr_replicaId = "nsDS5ReplicaId";
  62. const char *attr_replicaRoot = "nsDS5ReplicaRoot";
  63. const char *attr_replicaType = "nsDS5ReplicaType";
  64. const char *attr_replicaBindDn = "nsDS5ReplicaBindDn";
  65. const char *attr_replicaBindDnGroup = "nsDS5ReplicaBindDnGroup";
  66. const char *attr_replicaBindDnGroupCheckInterval = "nsDS5ReplicaBindDnGroupCheckInterval";
  67. const char *attr_state = "nsState";
  68. const char *attr_flags = "nsds5Flags";
  69. const char *attr_replicaName = "nsds5ReplicaName";
  70. const char *attr_replicaReferral = "nsds5ReplicaReferral";
  71. const char *type_ruvElement = "nsds50ruv";
  72. const char *type_agmtMaxCSN = "nsds5AgmtMaxCSN";
  73. const char *type_replicaPurgeDelay = "nsds5ReplicaPurgeDelay";
  74. const char *type_replicaChangeCount = "nsds5ReplicaChangeCount";
  75. const char *type_replicaTombstonePurgeInterval = "nsds5ReplicaTombstonePurgeInterval";
  76. const char *type_replicaLegacyConsumer = "nsds5ReplicaLegacyConsumer";
  77. const char *type_ruvElementUpdatetime = "nsruvReplicaLastModified";
  78. const char *type_replicaCleanRUV = "nsds5ReplicaCleanRUV";
  79. const char *type_replicaAbortCleanRUV = "nsds5ReplicaAbortCleanRUV";
  80. const char *type_replicaProtocolTimeout = "nsds5ReplicaProtocolTimeout";
  81. const char *type_replicaReleaseTimeout = "nsds5ReplicaReleaseTimeout";
  82. const char *type_replicaBackoffMin = "nsds5ReplicaBackoffMin";
  83. const char *type_replicaBackoffMax = "nsds5ReplicaBackoffMax";
  84. const char *type_replicaPrecisePurge = "nsds5ReplicaPreciseTombstonePurging";
  85. /* Attribute names for replication agreement attributes */
  86. const char *type_nsds5ReplicaHost = "nsds5ReplicaHost";
  87. const char *type_nsds5ReplicaPort = "nsds5ReplicaPort";
  88. const char *type_nsds5TransportInfo = "nsds5ReplicaTransportInfo";
  89. const char *type_nsds5ReplicaBindDN = "nsds5ReplicaBindDN";
  90. const char *type_nsds5ReplicaBindDNGroup = "nsds5ReplicaBindDNGroup";
  91. const char *type_nsds5ReplicaBindDNGroupCheckInterval = "nsds5ReplicaBindDNGroupCheckInterval";
  92. const char *type_nsds5ReplicaCredentials = "nsds5ReplicaCredentials";
  93. const char *type_nsds5ReplicaBindMethod = "nsds5ReplicaBindMethod";
  94. const char *type_nsds5ReplicaRoot = "nsds5ReplicaRoot";
  95. const char *type_nsds5ReplicatedAttributeList = "nsds5ReplicatedAttributeList";
  96. const char *type_nsds5ReplicatedAttributeListTotal = "nsds5ReplicatedAttributeListTotal";
  97. const char *type_nsds5ReplicaUpdateSchedule = "nsds5ReplicaUpdateSchedule";
  98. const char *type_nsds5ReplicaInitialize = "nsds5BeginReplicaRefresh";
  99. const char *type_nsds5ReplicaTimeout = "nsds5ReplicaTimeout";
  100. const char *type_nsds5ReplicaBusyWaitTime = "nsds5ReplicaBusyWaitTime";
  101. const char *type_nsds5ReplicaSessionPauseTime = "nsds5ReplicaSessionPauseTime";
  102. const char *type_nsds5ReplicaEnabled = "nsds5ReplicaEnabled";
  103. const char *type_nsds5ReplicaStripAttrs = "nsds5ReplicaStripAttrs";
  104. const char* type_nsds5ReplicaFlowControlWindow = "nsds5ReplicaFlowControlWindow";
  105. const char* type_nsds5ReplicaFlowControlPause = "nsds5ReplicaFlowControlPause";
  106. const char *type_nsds5WaitForAsyncResults = "nsds5ReplicaWaitForAsyncResults";
  107. /* windows sync specific attributes */
  108. const char *type_nsds7WindowsReplicaArea = "nsds7WindowsReplicaSubtree";
  109. const char *type_nsds7DirectoryReplicaArea = "nsds7DirectoryReplicaSubtree";
  110. const char *type_nsds7CreateNewUsers = "nsds7NewWinUserSyncEnabled";
  111. const char *type_nsds7CreateNewGroups = "nsds7NewWinGroupSyncEnabled";
  112. const char *type_nsds7WindowsDomain = "nsds7WindowsDomain";
  113. const char *type_nsds7DirsyncCookie = "nsds7DirsyncCookie";
  114. const char *type_winSyncInterval = "winSyncInterval";
  115. const char *type_oneWaySync = "oneWaySync";
  116. const char *type_winsyncMoveAction = "winSyncMoveAction";
  117. const char *type_winSyncWindowsFilter = "winSyncWindowsFilter";
  118. const char *type_winSyncDirectoryFilter = "winSyncDirectoryFilter";
  119. const char *type_winSyncSubtreePair = "winSyncSubtreePair";
  120. /* To Allow Consumer Initialization when adding an agreement - */
  121. const char *type_nsds5BeginReplicaRefresh = "nsds5BeginReplicaRefresh";
  122. static int repl_active_threads;
  123. int
  124. decrement_repl_active_threads()
  125. {
  126. PR_AtomicIncrement(&repl_active_threads);
  127. return repl_active_threads;
  128. }
  129. int
  130. increment_repl_active_threads()
  131. {
  132. PR_AtomicDecrement(&repl_active_threads);
  133. return repl_active_threads;
  134. }