1 /****************************************************************************** 2 * The MIT License 3 * Copyright (c) 2003 Novell Inc. www.novell.com 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a copy 6 * of this software and associated documentation files (the Software), to deal 7 * in the Software without restriction, including without limitation the rights 8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 * copies of the Software, and to permit persons to whom the Software is 10 * furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be included in 13 * all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 * SOFTWARE. 22 *******************************************************************************/ 23 // 24 // Novell.Directory.Ldap.Extensions.ReplicationConstants.cs 25 // 26 // Author: 27 // Sunil Kumar (Sunilk@novell.com) 28 // 29 // (C) 2003 Novell, Inc (http://www.novell.com) 30 // 31 32 using System; 33 34 namespace Novell.Directory.Ldap.Extensions 35 { 36 37 /* 38 * public class ReplicationConstants 39 */ 40 41 /// <summary> Contains a collection of constants used by the replication management 42 /// in Novell Ldap extensions. 43 /// </summary> 44 public class ReplicationConstants 45 { 46 47 /// <summary> A constant for the SplitPartitionRequest OID.</summary> 48 public const System.String CREATE_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.3"; 49 50 /// <summary> A constant for the SplitPartitionResponse OID.</summary> 51 public const System.String CREATE_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.4"; 52 53 /// <summary> A constant for the mergePartitionRequest OID.</summary> 54 public const System.String MERGE_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.5"; 55 56 /// <summary> A constant for the mergePartitionResponse OID.</summary> 57 public const System.String MERGE_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.6"; 58 59 /// <summary> A constant for the addReplicaRequest OID.</summary> 60 public const System.String ADD_REPLICA_REQ = "2.16.840.1.113719.1.27.100.7"; 61 62 /// <summary> A constant for the addReplicaResponse OID.</summary> 63 public const System.String ADD_REPLICA_RES = "2.16.840.1.113719.1.27.100.8"; 64 65 /// <summary> A constant for the refreshServerRequest OID.</summary> 66 public const System.String REFRESH_SERVER_REQ = "2.16.840.1.113719.1.27.100.9"; 67 68 /// <summary> A constant for the refreshServerResponse OID.</summary> 69 public const System.String REFRESH_SERVER_RES = "2.16.840.1.113719.1.27.100.10"; 70 71 /// <summary> A constant for the removeReplicaRequest OID.</summary> 72 public const System.String DELETE_REPLICA_REQ = "2.16.840.1.113719.1.27.100.11"; 73 74 /// <summary> A constant for the removeReplicaResponse OID.</summary> 75 public const System.String DELETE_REPLICA_RES = "2.16.840.1.113719.1.27.100.12"; 76 77 /// <summary> A constant for the partitionEntryCountRequest OID.</summary> 78 public const System.String NAMING_CONTEXT_COUNT_REQ = "2.16.840.1.113719.1.27.100.13"; 79 80 /// <summary> A constant for the partitionEntryCountResponse OID.</summary> 81 public const System.String NAMING_CONTEXT_COUNT_RES = "2.16.840.1.113719.1.27.100.14"; 82 83 /// <summary> A constant for the changeReplicaTypeRequest OID.</summary> 84 public const System.String CHANGE_REPLICA_TYPE_REQ = "2.16.840.1.113719.1.27.100.15"; 85 86 /// <summary> A constant for the changeReplicaTypeResponse OID.</summary> 87 public const System.String CHANGE_REPLICA_TYPE_RES = "2.16.840.1.113719.1.27.100.16"; 88 89 /// <summary> A constant for the getReplicaInfoRequest OID.</summary> 90 public const System.String GET_REPLICA_INFO_REQ = "2.16.840.1.113719.1.27.100.17"; 91 92 /// <summary> A constant for the getReplicaInfoResponse OID.</summary> 93 public const System.String GET_REPLICA_INFO_RES = "2.16.840.1.113719.1.27.100.18"; 94 95 /// <summary> A constant for the listReplicaRequest OID.</summary> 96 public const System.String LIST_REPLICAS_REQ = "2.16.840.1.113719.1.27.100.19"; 97 98 /// <summary> A constant for the listReplicaResponse OID.</summary> 99 public const System.String LIST_REPLICAS_RES = "2.16.840.1.113719.1.27.100.20"; 100 101 /// <summary> A constant for the receiveAllUpdatesRequest OID.</summary> 102 public const System.String RECEIVE_ALL_UPDATES_REQ = "2.16.840.1.113719.1.27.100.21"; 103 104 /// <summary> A constant for the receiveAllUpdatesResponse OID.</summary> 105 public const System.String RECEIVE_ALL_UPDATES_RES = "2.16.840.1.113719.1.27.100.22"; 106 107 /// <summary> A constant for the sendAllUpdatesRequest OID.</summary> 108 public const System.String SEND_ALL_UPDATES_REQ = "2.16.840.1.113719.1.27.100.23"; 109 110 /// <summary> A constant for the sendAllUpdatesResponse OID.</summary> 111 public const System.String SEND_ALL_UPDATES_RES = "2.16.840.1.113719.1.27.100.24"; 112 113 /// <summary> A constant for the requestPartitionSyncRequest OID.</summary> 114 public const System.String NAMING_CONTEXT_SYNC_REQ = "2.16.840.1.113719.1.27.100.25"; 115 116 /// <summary> A constant for the requestPartitionSyncResponse OID.</summary> 117 public const System.String NAMING_CONTEXT_SYNC_RES = "2.16.840.1.113719.1.27.100.26"; 118 119 /// <summary> A constant for the requestSchemaSyncRequest OID.</summary> 120 public const System.String SCHEMA_SYNC_REQ = "2.16.840.1.113719.1.27.100.27"; 121 122 /// <summary> A constant for the requestSchemaSyncResponse OID.</summary> 123 public const System.String SCHEMA_SYNC_RES = "2.16.840.1.113719.1.27.100.28"; 124 125 /// <summary> A constant for the abortPartitionOperationRequest OID.</summary> 126 public const System.String ABORT_NAMING_CONTEXT_OP_REQ = "2.16.840.1.113719.1.27.100.29"; 127 128 /// <summary> A constant for the abortPartitionOperationResponse OID.</summary> 129 public const System.String ABORT_NAMING_CONTEXT_OP_RES = "2.16.840.1.113719.1.27.100.30"; 130 131 /// <summary> A constant for the getContextIdentityNameRequest OID.</summary> 132 public const System.String GET_IDENTITY_NAME_REQ = "2.16.840.1.113719.1.27.100.31"; 133 134 /// <summary> A constant for the getContextIdentityNameResponse OID.</summary> 135 public const System.String GET_IDENTITY_NAME_RES = "2.16.840.1.113719.1.27.100.32"; 136 137 /// <summary> A constant for the getEffectivePrivilegesRequest OID.</summary> 138 public const System.String GET_EFFECTIVE_PRIVILEGES_REQ = "2.16.840.1.113719.1.27.100.33"; 139 140 /// <summary> A constant for the getEffectivePrivilegesResponse OID.</summary> 141 public const System.String GET_EFFECTIVE_PRIVILEGES_RES = "2.16.840.1.113719.1.27.100.34"; 142 143 /// <summary> A constant for the setReplicationFilterRequest OID.</summary> 144 public const System.String SET_REPLICATION_FILTER_REQ = "2.16.840.1.113719.1.27.100.35"; 145 146 /// <summary> A constant for the setReplicationFilterResponse OID.</summary> 147 public const System.String SET_REPLICATION_FILTER_RES = "2.16.840.1.113719.1.27.100.36"; 148 149 /// <summary> A constant for the getReplicationFilterRequest OID.</summary> 150 public const System.String GET_REPLICATION_FILTER_REQ = "2.16.840.1.113719.1.27.100.37"; 151 152 /// <summary> A constant for the getReplicationFilterResponse OID.</summary> 153 public const System.String GET_REPLICATION_FILTER_RES = "2.16.840.1.113719.1.27.100.38"; 154 155 /// <summary> A constant for the splitOrphanPartitionRequest OID.</summary> 156 public const System.String CREATE_ORPHAN_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.39"; 157 158 /// <summary> A constant for the splitOrphanPartitionResponse OID.</summary> 159 public const System.String CREATE_ORPHAN_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.40"; 160 161 /// <summary> A constant for the removeOrphanPartitionRequest OID.</summary> 162 public const System.String REMOVE_ORPHAN_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.41"; 163 164 /// <summary> A constant for the removeOrphanPartitionResponse OID.</summary> 165 public const System.String REMOVE_ORPHAN_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.42"; 166 167 /// <summary> A constant for the triggerBackLinkerRequest OID.</summary> 168 public const System.String TRIGGER_BKLINKER_REQ = "2.16.840.1.113719.1.27.100.43"; 169 170 /// <summary> A constant for the triggerBackLinkerResponse OID.</summary> 171 public const System.String TRIGGER_BKLINKER_RES = "2.16.840.1.113719.1.27.100.44"; 172 173 /// <summary> A constant for the triggerJanitorRequest OID.</summary> 174 public const System.String TRIGGER_JANITOR_REQ = "2.16.840.1.113719.1.27.100.47"; 175 176 /// <summary> A constant for the triggerJanitorResponse OID.</summary> 177 public const System.String TRIGGER_JANITOR_RES = "2.16.840.1.113719.1.27.100.48"; 178 179 /// <summary> A constant for the triggerLimberRequest OID.</summary> 180 public const System.String TRIGGER_LIMBER_REQ = "2.16.840.1.113719.1.27.100.49"; 181 182 /// <summary> A constant for the triggerLimberResponse OID.</summary> 183 public const System.String TRIGGER_LIMBER_RES = "2.16.840.1.113719.1.27.100.50"; 184 185 /// <summary> A constant for the triggerSkulkerRequest OID.</summary> 186 public const System.String TRIGGER_SKULKER_REQ = "2.16.840.1.113719.1.27.100.51"; 187 188 /// <summary> A constant for the triggerSkulkerResponse OID.</summary> 189 public const System.String TRIGGER_SKULKER_RES = "2.16.840.1.113719.1.27.100.52"; 190 191 /// <summary> A constant for the triggerSchemaSyncRequest OID.</summary> 192 public const System.String TRIGGER_SCHEMA_SYNC_REQ = "2.16.840.1.113719.1.27.100.53"; 193 194 /// <summary> A constant for the triggerSchemaSyncResponse OID.</summary> 195 public const System.String TRIGGER_SCHEMA_SYNC_RES = "2.16.840.1.113719.1.27.100.54"; 196 197 /// <summary> A constant for the triggerPartitionPurgeRequest OID.</summary> 198 public const System.String TRIGGER_PART_PURGE_REQ = "2.16.840.1.113719.1.27.100.55"; 199 200 /// <summary> A constant for the triggerPartitionPurgeResponse OID.</summary> 201 public const System.String TRIGGER_PART_PURGE_RES = "2.16.840.1.113719.1.27.100.56"; 202 203 204 /// <summary> A constant that specifies that all servers in a replica ring must be 205 /// running for a partition operation to proceed. 206 /// </summary> 207 public const int Ldap_ENSURE_SERVERS_UP = 1; 208 209 210 /// <summary> Identifies this replica as the master replica of the partition. 211 /// 212 /// On this type of replica, entries can be modified, and partition 213 /// operations can be performed. 214 /// </summary> 215 public const int Ldap_RT_MASTER = 0; 216 217 /// <summary> Identifies this replica as a secondary replica of the partition. 218 /// 219 /// On this type of replica, read and write operations can be performed, 220 /// and entries can be modified. 221 /// </summary> 222 public const int Ldap_RT_SECONDARY = 1; 223 224 /// <summary> Identifies this replica as a read-only replica of the partition. 225 /// 226 /// Only Novell eDirectory synchronization processes can modified 227 /// entries on this replica. 228 /// </summary> 229 public const int Ldap_RT_READONLY = 2; 230 231 /// <summary> Identifies this replica as a subordinate reference replica of the 232 /// partition. 233 /// 234 /// NOvell eDirectory automatically adds these replicas to a server 235 /// when the server does not contain replicas of all child partitions. 236 /// Only eDirectory can modify information on these types of replicas. 237 /// </summary> 238 public const int Ldap_RT_SUBREF = 3; 239 240 /// <summary> Identifies this replica as a read/write replica of the partition, 241 /// but the replica contains sparse data. 242 /// 243 /// The replica has been configured to contain only specified object types 244 /// and attributes. On this type of replica, only the attributes and objects 245 /// contained in the sparse data can be modified. 246 /// </summary> 247 public const int Ldap_RT_SPARSE_WRITE = 4; 248 249 /// <summary> Identifies this replica as a read-only replica of the partition, 250 /// but the replica contains sparse data. 251 /// 252 /// The replica has been configured to contain only specified object types 253 /// and attributes. On this type of replica, only Novell eDirectory 254 /// synchronization processes can modify the sparse data. 255 /// </summary> 256 public const int Ldap_RT_SPARSE_READ = 5; 257 258 //Replica States 259 260 /// <summary> Indicates that the replica is fully functioning and capable of responding 261 /// to requests. 262 /// </summary> 263 public const int Ldap_RS_ON = 0; 264 265 /// <summary> Indicates that a new replica has been added but has not received a full 266 /// download of information from the replica ring. 267 /// </summary> 268 public const int Ldap_RS_NEW_REPLICA = 1; 269 270 /// <summary> Indicates that the replica is being deleted and that the request has 271 /// been received. 272 /// </summary> 273 public const int Ldap_RS_DYING_REPLICA = 2; 274 275 /// <summary> Indicates that the replica is locked. The move operation uses this state 276 /// to lock the parent partition of the child partition that is moving. 277 /// </summary> 278 public const int Ldap_RS_LOCKED = 3; 279 280 /// <summary> Indicates that a new replica has finished receiving its download from the 281 /// master replica and is now receiving synchronization updates from other 282 /// replicas. 283 /// </summary> 284 public const int Ldap_RS_TRANSITION_ON = 6; 285 286 287 /// <summary> Indicates that the dying replica needs to synchronize with another replica 288 /// before being converted either to an external reference, if a root replica, 289 /// or to a subordinate reference, if a non-root replica. 290 /// </summary> 291 public const int Ldap_RS_DEAD_REPLICA = 7; 292 293 /// <summary> Indicates that the subordinate references of the new replica are being 294 /// added. 295 /// </summary> 296 public const int Ldap_RS_BEGIN_ADD = 8; 297 298 /// <summary> Indicates that a partition is receiving a new master replica. 299 /// 300 /// The replica that will be the new master replica is set to this state. 301 /// </summary> 302 public const int Ldap_RS_MASTER_START = 11; 303 304 /// <summary> Indicates that a partition has a new master replica. 305 /// 306 /// When the new master is set to this state, Novell eDirectory knows 307 /// that the replica is now the master and changes its replica type to 308 /// master and the old master to read/write. 309 /// </summary> 310 public const int Ldap_RS_MASTER_DONE = 12; 311 312 /// <summary> Indicates that the partition is going to split into two partitions. 313 /// 314 /// In this state, other replicas of the partition are informed of the 315 /// pending split. 316 /// </summary> 317 public const int Ldap_RS_SS_0 = 48; // Replica splitting 0 318 319 /// <summary> Indicates that that the split partition operation has started. 320 /// 321 /// When the split is finished, the state will change to RS_ON. 322 /// </summary> 323 public const int Ldap_RS_SS_1 = 49; // Replica splitting 1 324 325 /// <summary> Indicates that that two partitions are in the process of joining 326 /// into one partition. 327 /// 328 /// In this state, the replicas that are affected are informed of the join 329 /// operation. The master replica of the parent and child partitions are 330 /// first set to this state and then all the replicas of the parent and child. 331 /// New replicas are added where needed. 332 /// </summary> 333 public const int Ldap_RS_JS_0 = 64; // Replica joining 0 334 335 /// <summary> Indicates that that two partitions are in the process of joining 336 /// into one partition. 337 /// 338 /// This state indicates that the join operation is waiting for the new 339 /// replicas to synchronize and move to the RS_ON state. 340 /// </summary> 341 public const int Ldap_RS_JS_1 = 65; // Replica joining 1 342 343 /// <summary> Indicates that that two partitions are in the process of joining 344 /// into one partition. 345 /// 346 /// This state indicates that all the new replicas are in the RS_ON state 347 /// and that the rest of the work can be completed. 348 /// </summary> 349 public const int Ldap_RS_JS_2 = 66; // Replica joining 2 350 351 352 // Values for flags used in the replica info class structure 353 354 /// <summary> Indicates that the replica is involved with a partition operation, 355 /// for example, merging a tree or moving a subtree. 356 /// </summary> 357 public const int Ldap_DS_FLAG_BUSY = 0x0001; 358 359 /// <summary> Indicates that this partition is on the DNS federation boundary. 360 /// This flag is only set on DNS trees. 361 /// </summary> 362 public const int Ldap_DS_FLAG_BOUNDARY = 0x0002; 363 364 ReplicationConstants()365 public ReplicationConstants() 366 { 367 } 368 } 369 } 370