Ticket 47490 - Schema replication between DS versions may overwrite newer base schema
Bug Description:
At the beginning of a replication session, the supplier checks if the schema (that the supplier owns) needs to be pushed
to the consumer. This is based on the comparison of a CSN (nsSchemaCSN).
The problem is that the CSN specifies which is the most recent update but does not garantee that the most recent
update is a superset of a previous update.
In an upgrade scenario a consumer schema can be overwriten by a supplier schema although the consumer schema is a superset
of the supplier schema
Fix Description:
The fix contains two parts:
- one to prevent a supplier to push its schema if it is not a superset of the consumer one
- one to prevent a consumer to accept a schema push, if the supplier schema is not a superset of its schema
To determine that a schema is a superset of an other, this fix only deals objectclasses.
For all objectclasses (of the consumer schema), it checks that
- all required attributes are also required in the supplier objectclasses
- all allowed attributes are also allowed in the supplier objectclasses
https://fedorahosted.org/389/ticket/47490
Reviewed by: Rich Megginson (thanks Rich !)
Platforms tested: unit tests, acceptance mmr, new TC in tet accept/mmr
Flag Day: no
Doc impact: possibly for troubleshooting guide, in case of warning messages