From 21df5f7997505248088cc394defcafec8fa58e4e Mon Sep 17 00:00:00 2001
From: Noriko Hosoi <nhosoi@redhat.com>
Date: Fri, 3 Apr 2015 09:07:47 -0700
Subject: [PATCH] Ticket #48139 - drop support for legacy replication

Description: Deleted the code for the DS to act as a legacy consumer
of a 4.x supplier server (4xcompatible) as well as its online doc.
---
 help/en/help/configtab_replication3.html           |   4 -
 .../panel/replication/ReplicaSettingPanel.java     | 138 +--------------------
 .../dirserv/panel/replication/ReplicationTool.java |   1 -
 .../panel/replication/WindowsSyncSettingPanel.java | 114 -----------------
 .../panel/replication/replication.properties       |  14 ---
 5 files changed, 3 insertions(+), 268 deletions(-)

diff --git a/help/en/help/configtab_replication3.html b/help/en/help/configtab_replication3.html
index e71f4e2..0d132a9 100644
--- a/help/en/help/configtab_replication3.html
+++ b/help/en/help/configtab_replication3.html
@@ -48,10 +48,6 @@ If the ID is incorrect, the field labels turn red and the Save button is disable
 <p class="text">
 <b>Purge delay. </b>The delay you specify in these fields determines how long the server keeps replication state information in the database before it is purged.  A longer time means that the risk of needing to perform a replication re-initialization is lower, but you will need more disk space to store the extra data and more memory to cache the extra data.  A shorter time means the risk of needing to perform a replication re-initializtion is higher, but you will need less disk space and memory.  Check the Never checkbox if you want to save this information indefinitely.  
 </p>
-
-<p class="text">
-<b>Updatable by a 4.x Replica. </b>Check this checkbox if you want this Directory Server to act as a legacy consumer of a 4.x supplier server.
-</p>
 </blockquote>
 
 <p class="text">
diff --git a/src/com/netscape/admin/dirserv/panel/replication/ReplicaSettingPanel.java b/src/com/netscape/admin/dirserv/panel/replication/ReplicaSettingPanel.java
index 0fc2a42..ecc08b9 100644
--- a/src/com/netscape/admin/dirserv/panel/replication/ReplicaSettingPanel.java
+++ b/src/com/netscape/admin/dirserv/panel/replication/ReplicaSettingPanel.java
@@ -250,15 +250,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 		gbc.gridwidth = gbc.REMAINDER;
 		gbc.weightx = 1.0;
 		purgeDelayPanel.add(Box.createHorizontalGlue(), gbc);
-		
-		_cb4xConsumer = makeJCheckBox(_section, "4xcompatible", false, _resource);
-		_cb4xConsumer.setToolTipText(_resource.getString( "replication-replica-4xcompatible",
-														 "ttip"));
-		gbc.gridwidth = gbc.RELATIVE;
-		gbc.anchor = gbc.NORTHWEST;
-		consumerTypePanel.add(_cb4xConsumer, gbc);	
-		gbc.gridwidth = gbc.REMAINDER;
-		consumerTypePanel.add(Box.createHorizontalGlue(), gbc);
    }
 
 
@@ -452,7 +443,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 		_saveBindDNList = new Vector();
 		_saveDS5Flags = true;
 		_saveReferralList = new Vector();
-		_save4xConsumer = false;
 
 		_saveIsSimpleMaster = false;
 		_saveIsSlave = false;
@@ -480,14 +470,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 				_saveDS5ReplicaTypeExist = true;
 			}			
 
-			// nsds5ReplicaLegacyConsumer			
-			valattr = DSUtil.getAttrValue( replicaEntry, ReplicationTool.REPLICA_LEGACY_CONSUMER_ATTR );
-			_save4xConsumer = (valattr.length() != 0) &&
-				valattr.equalsIgnoreCase("on");				
-			if (valattr.length() != 0) {
-				_saveDS5ReplicaLegacyConsumerExist = true;
-			}
-
 			// nsds5ReplicaPurgeDelay		
 			valattr = DSUtil.getAttrValue( replicaEntry, ReplicationTool.REPLICA_PURGE_DELAY_ATTR );
 			if( valattr.length() != 0 ) {
@@ -581,7 +563,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 					  "_saveBindDNExist = "+_saveBindDNExist+"\n"+
 					  "_saveReferralListExist = "+_saveReferralListExist+"\n"+
 					  "_savePurgeDelayExist = "+_savePurgeDelayExist+"\n"+
-					  "_save4xConsumer = "+_save4xConsumer+"\n"+
 					  "_saveDS5FlagsExist = "+_saveDS5FlagsExist+"\n"+
 					  "_saveReadOnly = "+_saveReadOnly+"\n"+
 					  "_savePurgeDelay = "+_savePurgeDelay+"\n"+
@@ -636,11 +617,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 		for (int i=0; i<_saveReferralList.size(); i++) {
 			_referralListData.addElement(_saveReferralList.elementAt(i));
 		}
-		if (_save4xConsumer) {			
-			_cb4xConsumer.setSelected(true);
-		} else {
-			_cb4xConsumer.setSelected(false);
-		}
 	}
 
 	private void populatePurgeDelay(String time) {
@@ -679,36 +655,7 @@ public class ReplicaSettingPanel extends BlankPanel {
 		}		
 		Object source = e.getSource();
 
-		/* If the user tries to define a 4.x Consumer, the legacy settings are needed.
-		   That's why we see if the legacy settings entry exists or not.
-		   If the legacy settings entry does not exist we display an error message telling 
-		   the user that he/she has to define the legacy settings first.  In this dialog we 
-		   describe the steps to follow */				
-		if (source.equals(_cb4xConsumer) && _cb4xConsumer.isSelected()) {	
-			boolean legacyEntryExists = false;
-			try {
-				LDAPConnection ldc = _model.getServerInfo().getLDAPConnection();		
-				String[] attrs = {"dn"};
-				LDAPEntry entry = ldc.read(LegacyConsumerSettingPanel.REPSETTINGS_DN, attrs);
-				if (entry != null) {
-					legacyEntryExists = true;
-				}
-			} catch (LDAPException lde) {
-			}
-			if (!legacyEntryExists) {				
-				_cb4xConsumer.setSelected(false);
-				DSUtil.showErrorDialog( _model.getFrame(),
-										"enable-legacy-error",
-										(String[])null,
-										_section,
-										_resource);								
-			}
-		/* If the user tries to define a master or a hub, we need to log the changes.
-		   That's why we see if the change log entry exists or not.
-		   If the change log entry does not exist we display an error message telling 
-		   the user that he/she has to define the Change Log first.  In this dialog we 
-		   describe the steps to follow */
-		} else if ((source.equals(_rbIsSimpleMaster) &&
+		if ((source.equals(_rbIsSimpleMaster) &&
 			 _rbIsSimpleMaster.isSelected()) ||
 			(source.equals(_rbIsMultiMaster) &&
 			 _rbIsMultiMaster.isSelected()) ||
@@ -971,43 +918,7 @@ public class ReplicaSettingPanel extends BlankPanel {
 	  */
 	private boolean saveConfirmationDialog() {
 		boolean confirmation = true;
-		if (_cbReplicaEnabled.isSelected() &&
-			_cb4xConsumer.isSelected()) {
-		
-			/* The user is defining a multi master that can be updated by a 4.X server.
-			   With this configuration the replica won't accept client modifications. */
-			if (_rbIsMultiMaster.isSelected()) {
-				int option = DSUtil.showConfirmationDialog(
-														   _model.getFrame(),
-														   "confirm-multimaster-4xcompatible",
-														   "",
-														   _section,
-														   _resource);
-				if (option != JOptionPane.YES_OPTION) {
-					confirmation = false;
-				} 
-			} else if (_rbIsSimpleMaster.isSelected()) {
-				int option = DSUtil.showConfirmationDialog(
-														   _model.getFrame(),
-														   "confirm-simplemaster-4xcompatible",
-														   "",
-														   _section,
-														   _resource);
-				if (option != JOptionPane.YES_OPTION) {
-					confirmation = false;
-				} 
-			} else {
-				int option = DSUtil.showConfirmationDialog(
-														   _model.getFrame(),
-														   "confirm-readonly-4xcompatible",
-														   "",
-														   _section,
-														   _resource);
-				if (option != JOptionPane.YES_OPTION) {
-					confirmation = false;
-				}
-			}			
-		} else if (_rbIsSlave.isSelected() &&
+		if (_rbIsSlave.isSelected() &&
 				   !_saveIsSlave &&
 				   _saveReplicaEnabled &&
 				   hasReplicationAgreements()) {
@@ -1207,14 +1118,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 								 value);
 		attrSet.add(attr);
 
-		// nsds5ReplicaLegacyConsumer		
-		if (_cb4xConsumer.isSelected()) {
-			value = "on";
-			attr = new LDAPAttribute(ReplicationTool.REPLICA_LEGACY_CONSUMER_ATTR,
-									 value);
-			attrSet.add(attr);
-		}
-
 		// ndsDS5flags
 		/* If we are a slave we DON'T log changes */
 		if (!_rbIsSlave.isSelected()) {
@@ -1332,22 +1235,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 										 value));
 		}
 
-		// nsds5ReplicaLegacyConsumer	
-		modType = _saveDS5ReplicaLegacyConsumerExist?LDAPModification.REPLACE:LDAPModification.ADD;
-		if (_cb4xConsumer.isSelected() &&
-			!_save4xConsumer ) {
-			value = "on";
-			modSet.add(modType,
-					   new LDAPAttribute(ReplicationTool.REPLICA_LEGACY_CONSUMER_ATTR,
-										 value));		
-		} else if (!_cb4xConsumer.isSelected() &&
-				   _save4xConsumer) {
-			value = "off";
-			modSet.add(modType,
-					   new LDAPAttribute(ReplicationTool.REPLICA_LEGACY_CONSUMER_ATTR,
-										 value));	
-		}
-		
 		// ndsDS5flags
 		/* If we are a slave we DON'T log changes */
 		modType = _saveDS5FlagsExist?LDAPModification.REPLACE:LDAPModification.ADD;
@@ -1700,13 +1587,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 				isPurgeDelayDirty = true;
 			}
 		}
-
-		/* Check the 4x compatibility */
-		boolean is4xCompatibleDirty = false;
-		if (_cb4xConsumer.isSelected() != _save4xConsumer) {
-			is4xCompatibleDirty = true;			
-		}
-
 		/* Check the supplier DN field */
 		boolean isBindDNListDirty = false;
 		boolean isBindDNListValid = true;
@@ -1748,13 +1628,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 		} else {
 			setChangeState(_lBindDNList, CHANGE_STATE_UNMODIFIED);
 		}
-		
-		if (is4xCompatibleDirty) {	
-			setChangeState( _cb4xConsumer, CHANGE_STATE_MODIFIED );	
-		} else {	
-			setChangeState( _cb4xConsumer, CHANGE_STATE_UNMODIFIED);	
-		}
-
 		if (!isPurgeDelayValid) {
 			setChangeState(_lPurgeDelay, CHANGE_STATE_ERROR );
 			setChangeState(_cbPurgeDelayNever, CHANGE_STATE_ERROR );
@@ -1780,7 +1653,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 		}
 
 		if (isReplicaIDDirty ||			
-			is4xCompatibleDirty ||
 			isBindDNListDirty ||
 			isPurgeDelayDirty ||
 			isReferralListDirty ||
@@ -1887,7 +1759,6 @@ public class ReplicaSettingPanel extends BlankPanel {
 
 	private JCheckBox _cbReplicaEnabled = null;
 	private JCheckBox _cbPurgeDelayNever = null;
-	private JCheckBox _cb4xConsumer = null;
 
 	private JRadioButton _rbIsSimpleMaster = null;
 	private JRadioButton _rbIsSlave = null;
@@ -1934,11 +1805,8 @@ public class ReplicaSettingPanel extends BlankPanel {
 	private boolean _saveIsHub = false;
 	private boolean _saveReadOnly = false;
 	private boolean _saveReplicaEnabled = false;
-        private boolean _saveWindowsSyncEnabled = false;
+	private boolean _saveWindowsSyncEnabled = false;
 	private boolean _saveDS5Flags = false;
-	private boolean _save4xConsumer = false;
-        
-       
 
 	/* These members, tell which are the values in the server (or the default values
 	   if there are no values on the server) */
diff --git a/src/com/netscape/admin/dirserv/panel/replication/ReplicationTool.java b/src/com/netscape/admin/dirserv/panel/replication/ReplicationTool.java
index d457406..8b8b546 100644
--- a/src/com/netscape/admin/dirserv/panel/replication/ReplicationTool.java
+++ b/src/com/netscape/admin/dirserv/panel/replication/ReplicationTool.java
@@ -128,7 +128,6 @@ public class ReplicationTool {
     final static String REPLICA_N_CHANGES_SENT_ATTR = "nsds5replicaChangesSentSinceStartup";
     final static String REPLICA_LAST_UPDATE_STATUS_ATTR = "nsds5replicaLastUpdateStatus";
     final static String REPLICA_UPDATE_IN_PROGRESS_ATTR = "nsds5replicaUpdateInProgress";
-	final static String REPLICA_LEGACY_CONSUMER_ATTR = "nsds5ReplicaLegacyConsumer";
 	final static String REPLICA_PURGE_DELAY_ATTR = "nsds5ReplicaPurgeDelay";
 	final static String DEFAULT_PURGE_DELAY = "604800";
 	final static String REPLICA_ID_ATTR = "nsDS5ReplicaID";
diff --git a/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java b/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java
index 10c873a..8b0d6cc 100755
--- a/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java
+++ b/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java
@@ -238,15 +238,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
         gbc.gridwidth = gbc.REMAINDER;
         gbc.weightx = 1.0;
         purgeDelayPanel.add(Box.createHorizontalGlue(), gbc);
-        
-        _cb4xConsumer = makeJCheckBox(_section, "4xcompatible", false, _resource);
-        _cb4xConsumer.setToolTipText(_resource.getString( "replication-replica-4xcompatible",
-        "ttip"));
-        gbc.gridwidth = gbc.RELATIVE;
-        gbc.anchor = gbc.NORTHWEST;
-        consumerTypePanel.add(_cb4xConsumer, gbc);
-        gbc.gridwidth = gbc.REMAINDER;
-        consumerTypePanel.add(Box.createHorizontalGlue(), gbc);
     }
     
     
@@ -587,11 +578,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
                 for (int i=0; i<_saveReferralList.size(); i++) {
                     _referralListData.addElement(_saveReferralList.elementAt(i));
                 }
-        //        if (_save4xConsumer) {
-        //            _cb4xConsumer.setSelected(true);
-        //        } else {
-        //            _cb4xConsumer.setSelected(false);
-        //        }
     }
     
     private void populatePurgeDelay(String time) {
@@ -632,72 +618,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
         
         checkFields();
         checkEnablingState();
-        
-        //    /* If the user tries to define a 4.x Consumer, the legacy settings are needed.
-        //       That's why we see if the legacy settings entry exists or not.
-        //       If the legacy settings entry does not exist we display an error message telling
-        //       the user that he/she has to define the legacy settings first.  In this dialog we
-        //       describe the steps to follow */
-        //        if (source.equals(_cb4xConsumer) && _cb4xConsumer.isSelected()) {
-        //            boolean legacyEntryExists = false;
-        //            try {
-        //                LDAPConnection ldc = _model.getServerInfo().getLDAPConnection();
-        //                String[] attrs = {"dn"};
-        //                LDAPEntry entry = ldc.read(LegacyConsumerSettingPanel.REPSETTINGS_DN, attrs);
-        //                if (entry != null) {
-        //                    legacyEntryExists = true;
-        //                }
-        //            } catch (LDAPException lde) {
-        //            }
-        //            if (!legacyEntryExists) {
-        //                _cb4xConsumer.setSelected(false);
-        //                DSUtil.showErrorDialog( _model.getFrame(),
-        //                "enable-legacy-error",
-        //                (String[])null,
-        //                _section,
-        //                _resource);
-        //            }
-        //    /* If the user tries to define a master or a hub, we need to log the changes.
-        //       That's why we see if the change log entry exists or not.
-        //       If the change log entry does not exist we display an error message telling
-        //       the user that he/she has to define the Change Log first.  In this dialog we
-        //       describe the steps to follow */
-        //        } else if ((source.equals(_rbIsActiveDirectory) && _rbIsActiveDirectory.isSelected()) ||
-        //        (source.equals(_rbIsLegacyNT) && _rbIsLegacyNT.isSelected())) {
-        //            boolean logChangesExists = false;
-        //            try {
-        //                LDAPConnection ldc = _model.getServerInfo().getLDAPConnection();
-        //                String[] attrs = {"dn"};
-        //                LDAPEntry entry = ldc.read(SupplierSettingPanel.CHANGELOG_DN, attrs);
-        //                if (entry != null) {
-        //                    logChangesExists = true;
-        //                }
-        //            } catch (LDAPException lde) {
-        //            }
-        //            if (!logChangesExists) {
-        //                //                _rbIsSlave.setSelected(true);
-        //                DSUtil.showErrorDialog( _model.getFrame(),
-        //                "enable-changelog-error",
-        //                (String[])null,
-        //                _section,
-        //                _resource);
-        //                //            }  else if (!_rbIsHub.isSelected()) {
-        //        /* In the case the user wants to configure a master replica (no hub selected)
-        //           we check if the database is on read-only mode or not.  If it is read only we display
-        //           an error message */
-        //                //                if (isDatabaseReadOnly()) {
-        //                //                  //  _rbIsSlave.setSelected(true);
-        //                //                    DSUtil.showErrorDialog( _model.getFrame(),
-        //                //                    "enable-master-error",
-        //                //                    (String[])null,
-        //                //                    _section,
-        //                //                    _resource);
-        //            }
-        //
-        //
-        //
-        //        }
-        
     }
     
     /**
@@ -1031,9 +951,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
         attr = new LDAPAttribute(ReplicationTool.REPLICA_TYPE_ATTR, value);
         attrSet.add(attr);
         
-//        attr = new LDAPAttribute(ReplicationTool.  REPLICA_LEGACY_CONSUMER_ATTR, value);
-//        attrSet.add(attr);
-
         // ndsDS5flags
         /* If we are a slave we DON'T log changes */
         //        if (!_rbIsSlave.isSelected()) {
@@ -1147,22 +1064,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
             value));
         }
         
-        // nsds5ReplicaLegacyConsumer
-        //        modType = _saveDS5ReplicaLegacyConsumerExist?LDAPModification.REPLACE:LDAPModification.ADD;
-        //        if (_cb4xConsumer.isSelected() &&
-        //        !_save4xConsumer ) {
-        //            value = "on";
-        //            modSet.add(modType,
-        //            new LDAPAttribute(ReplicationTool.REPLICA_LEGACY_CONSUMER_ATTR,
-        //            value));
-        //        } else if (!_cb4xConsumer.isSelected() &&
-        //        _save4xConsumer) {
-        //            value = "off";
-        //            modSet.add(modType,
-        //            new LDAPAttribute(ReplicationTool.REPLICA_LEGACY_CONSUMER_ATTR,
-        //            value));
-        //        }
-        
         // ndsDS5flags
         /* If we are a slave we DON'T log changes */
         modType = _saveDS5FlagsExist?LDAPModification.REPLACE:LDAPModification.ADD;
@@ -1531,12 +1432,6 @@ setValidFlag();
 //            }
 //        }
 //        
-//        /* Check the 4x compatibility */
-//        //        boolean is4xCompatibleDirty = false;
-//        //        if (_cb4xConsumer.isSelected() != _save4xConsumer) {
-//        //            is4xCompatibleDirty = true;
-//        //        }
-//        
 //        /* Check the supplier DN field */
 //        boolean isBindDNListDirty = false;
 //        boolean isBindDNListValid = true;
@@ -1575,12 +1470,6 @@ setValidFlag();
 //            setChangeState(_lBindDNList, CHANGE_STATE_UNMODIFIED);
 //        }
 //        
-//        //        if (is4xCompatibleDirty) {
-//        //            setChangeState( _cb4xConsumer, CHANGE_STATE_MODIFIED );
-//        //        } else {
-//        //            setChangeState( _cb4xConsumer, CHANGE_STATE_UNMODIFIED);
-//        //        }
-//        
 //        if (!isPurgeDelayValid) {
 //            setChangeState(_lPurgeDelay, CHANGE_STATE_ERROR );
 //            setChangeState(_cbPurgeDelayNever, CHANGE_STATE_ERROR );
@@ -1606,7 +1495,6 @@ setValidFlag();
 //        }
 //        
 //        if (isReplicaIDDirty ||
-//        //        is4xCompatibleDirty ||
 //        isBindDNListDirty ||
 //        isPurgeDelayDirty ||
 //        isReferralListDirty ||
@@ -1713,7 +1601,6 @@ setValidFlag();
     
     private JCheckBox _cbWindowsReplicaEnabled = null;
     private JCheckBox _cbPurgeDelayNever = null;
-    private JCheckBox _cb4xConsumer = null;
     
     private JRadioButton _rbIsLegacyNT = null;
     private JRadioButton _rbIsActiveDirectory = null;
@@ -1762,7 +1649,6 @@ setValidFlag();
     private boolean _saveReadOnly = false;
     //private boolean _saveReplicaEnabled = false;
     //private boolean _saveDS5Flags = false;
-    //private boolean _save4xConsumer = false;
     private boolean _saveWindowsReplicaEnabled = false;
   /* These members, tell which are the values in the server (or the default values
      if there are no values on the server) */
diff --git a/src/com/netscape/admin/dirserv/panel/replication/replication.properties b/src/com/netscape/admin/dirserv/panel/replication/replication.properties
index 39521f5..3b797fc 100644
--- a/src/com/netscape/admin/dirserv/panel/replication/replication.properties
+++ b/src/com/netscape/admin/dirserv/panel/replication/replication.properties
@@ -29,8 +29,6 @@ replication-node-agreementPopupMenu-New=New Replication Agreement...
 replication-node-agreementPopupMenu-New-description=Create replication agreement
 replication-node-agreementPopupMenu-NewWin=New Windows Sync Agreement
 replication-node-agreementPopupMenu-NewWin-description=Create Windows sync agreement
-replication-node-agreementPopupMenu-4xCompatible=Make Replica 4X Compatible
-replication-node-agreementPopupMenu-4xCompatible-description=This replica can be updated by a 4.X server 
 replication-node-agreementPopupMenu-Delete=&Delete Replication Agreement
 replication-node-agreementPopupMenu-Delete-description=Delete replication agreement
 replication-node-agreementPopupMenu-Copy=D&uplicate Replication Agreement...
@@ -283,14 +281,10 @@ replication-replica-enable-label=Enable Replica
 replication-replica-enable-ttip=Select this checkbox to allow this replica to participate in replication.
 replication-replica-enable-sync-label=Enable Windows Sync
 replication-replica-enable-sync-ttip=Select this checkbox to enable windows sync
-replication-replica-enable-legacy-label=Enable Legacy Consumer
-replication-replica-enable-legacy-error-title=Configuration Error
-replication-replica-enable-legacy-error-msg=Before you can configure this replica to accept updates from a 4.X server, you have to define\n the Legacy Consumer Settings.\n\nGo to the Replication node and click the Legacy Consumer Settings tab to modify the settings.\nSelect the 'Enable Legacy Consumer' checkbox.\nComplete the 'Supplier DN' and password fields.\nClick 'Save'.
 replication-replica-enable-changelog-error-title=Configuration Error
 replication-replica-enable-changelog-error-msg=If you want to configure a Master or a Hub, you have to define change log settings.\n\nGo to the Replication node and click the Supplier Settings tab to modify the settings.\nSelect the 'Enable Changelog' checkbox.\nComplete the 'Changelog database directory' text field or click 'Use default'.\nClick 'Save'.
 replication-replica-enable-master-error-title=Configuration Error
 replication-replica-enable-master-error-msg=If you want to configure a Master, the database corresponding to this\nreplica cannot be in read-only mode.\n\nGo to the database node under the 'Data' node tree and unselect the \n'Database is read-only' checkbox in the 'Database Settings' tab.
-replication-replica-enable-legacy-ttip=Enable Replication Legacy Consumer
 replication-replica-multimaster-label=Multiple Master
 replication-replica-multimaster-ttip=This read-write replica will send updates to another replica and can receive updates from another master
 replication-replica-simplemaster-label=Single Master
@@ -305,8 +299,6 @@ replication-replica-replicaid-label=Replica ID:
 replication-replica-replicaid-ttip=A number between 1 and 65534 inclusive that uniquely identifies this replica.
 replication-replica-replicaid-columns=6
 replication-replica-replicaid-warning-label=(Must be unique among the IDs of the master replicas)
-replication-replica-4xcompatible-label=Updatable by a 4.X Replica
-replication-replica-4xcompatible-ttip=This replica can receive updates from a 4.X Directory Server
 replication-replica-50compatible-label=Updatable by a 5.0 Replica
 replication-replica-50compatible-ttip=This replica can receive updates from a 5.0 Server
 replication-replica-type-label=Replica Role
@@ -328,12 +320,6 @@ replication-replica-purgedelay-never-label=Never
 replication-replica-purgedelay-never-ttip=The purge of the entries is done instantaneously
 replication-replica-confirmrepdelete-msg=Disabling this replica will delete all replication\nagreements for this replica and\nerase all replica information.\nDo you want to continue?
 replication-replica-confirmrepdelete-title=Confirm Replica Deletion
-replication-replica-confirm-multimaster-4xcompatible-msg=You are defining a multiple master that accepts updates from a 4.x Directory Server.\nThis replica will no longer receive updates from the DN you specified in "Replica Update Settings."\nInstead, it receives updates from the 4.x supplier you specify in the Legacy Consumer Settings tab.\nThis replica will not function as a real master because it is read-only.\nClear the "Update by a 4.x Replica" checkbox to make this replica a true multiple master.\n\nDo you want to continue?
-replication-replica-confirm-multimaster-4xcompatible-title=Confirmation Required
-replication-replica-confirm-simplemaster-4xcompatible-msg=You are defining a single master that accepts updates from a 4.x Directory Server.\nThis replica will not function as a real master because it is read-only.\nClear the Update by a 4.x Replica checkbox to make this replica a true master.\n\nDo you want to continue?
-replication-replica-confirm-simplemaster-4xcompatible-title=Confirmation Required
-replication-replica-confirm-readonly-4xcompatible-msg=You are defining a replica that accepts updates from a 4.x Directory Server.\nThis replica receives updates from the 4.x supplier DN specified in Legacy Consumer Settings Panel.\nThis replica will not be updatable by a 5.0 Directory Server.\n\nDo you want to continue?
-replication-replica-confirm-readonly-4xcompatible-title=Confirmation Required
 replication-replica-slave-defined-agreements-no-valid-msg=You are defining a dedicated consumer replica.\nAll replication agreements for this replica will be be erased.\n\nDo you want to continue?
 replication-replica-slave-defined-agreements-no-valid-title=Confirmation Required
 replication-replica-delete-referrals-information-title=Replica Disabled
-- 
1.9.3

