#47541 Replication of the schema may overwrite consumer 'attributetypes' even if consumer definition is a superset
Closed: wontfix Opened by tbordaz.

This ticket is a follow-up of https://fedorahosted.org/389/ticket/47490

A schema is a ldap entry with two attributes of 'objectclasses' and 'attributetypes'.
A value of 'objectclasses' is a component that defines an objectclass. For example, a value of 'objectclasses' defines the objectclass 'person' with parentOC, MUST and MAY attribute.
Similarly a value of 'attributetypes' defines the attribute 'givenname' with syntax,single-multi value, use...

During a replication session, the supplier may push its schema ( attributes 'objectclasses' and 'attributetypes') to the consumer.

A value of 'objectclasses' may differs between supplier and consumer. A problem can arise if the value on the consumer is a superset of the value on the supplier. For example if consumer OC1 defines MUST with A1,A2 while the supplier OC1 defines MUST with A1. In that sense the OC1 on the supplier is more restrictive than the one on the consumer and if OC1 is pushed, then some entries on the consumer may violate the OC1. This problem was addressed with tichet https://fedorahosted.org/389/ticket/47490

A similar issue exists with 'attributetypes' where an attributetypes value, may be more restrictive on the supplier than on a consumer. For example with a more restrictive syntax or being single valued. This ticket is to address the 'attributetypes' checking during the schema push


git merge ticket47541
Updating cf08f12..42221a1
Fast-forward
.../servers/plugins/replication/repl5_connection.c | 80 ++-
ldap/servers/slapd/attrsyntax.c | 86 +++-
ldap/servers/slapd/log.c | 1 -
ldap/servers/slapd/proto-slap.h | 3 +
ldap/servers/slapd/schema.c | 542 +++++++++++++++++++-
ldap/servers/slapd/schemaparse.c | 6 +-
ldap/servers/slapd/slap.h | 3 +
7 files changed, 664 insertions(+), 57 deletions(-)

git push origin master
Counting objects: 27, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 6.24 KiB, done.
Total 14 (delta 12), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
cf08f12..42221a1 master -> master

commit 42221a161fd0b288b0d7be2d95e940660e015dbe
Author: Mark Reynolds mreynolds@redhat.com
Date: Thu Nov 7 12:41:41 2013 -0500

Fix Jenkins errors(unused variables)

git merge ticket47541
Updating 42221a1..cb54dfe
Fast-forward
ldap/servers/slapd/proto-slap.h | 2 +-
ldap/servers/slapd/schema.c | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)

git push origin master

42221a1..cb54dfe master -> master

commit cb54dfed19d860e3fef0890fc5946787a93b3a19
Author: Mark Reynolds mreynolds@redhat.com
Date: Tue Nov 12 10:07:22 2013 -0500

Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1044198

In order to backport https://fedorahosted.org/389/ticket/47721 in 1.3.2, this bug needs to be backported first

git push origin '''389-ds-base-1.3.2''' (core fix)

Counting objects: 27, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (11/11), done.
Writing objects: 100% (14/14), 6.18 KiB, done.
Total 14 (delta 12), reused 3 (delta 3)
To ssh://git.fedorahosted.org/git/389/ds.git
072b9fe..5582b14 389-ds-base-1.3.2 -> 389-ds-base-1.3.2

commit 5582b14982b8d1d02748ef66f9320daf0211c07f
Author: Thierry bordaz (tbordaz) tbordaz@redhat.com
Date: Tue May 20 10:24:34 2014 +0200

git push origin '''389-ds-base-1.3.2''' (Jenkins errors)

Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 801 bytes, done.
Total 7 (delta 5), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
5582b14..dd543aa 389-ds-base-1.3.2 -> 389-ds-base-1.3.2

commit dd543aacb050f59b0b9730b6556163c55ea64df2
Author: Thierry bordaz (tbordaz) tbordaz@redhat.com
Date: Tue May 20 10:34:49 2014 +0200

Metadata Update from @mreynolds:
- Issue assigned to mreynolds
- Issue set to the milestone: 1.3.3 - 11/13 (November)

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/878

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: Fixed)

Metadata