freeipa/install
Martin Kosek 917a480675 Add safe updates for objectClasses
Current objectclass updates in a form of "replace" update instruction
dependent on exact match of the old object class specification in the
update instruction and the real value in LDAP. However, this approach is
very error prone as object class definition can easily differ as for
example because of unexpected X-ORIGIN value. Such objectclass update
failures may lead to serious malfunctions later.

When comparing the objectclasses, make sure we normalize them both
before we compare them to mitigate these kinds of errors. python-ldap's
objectclass model can be utilized to do the normalization part.

One objectclass update instruction was changed to do a replace of
an objectclass separately from add update instruction so that we
really only replace what's stored in LDAP.

https://fedorahosted.org/freeipa/ticket/2440
2012-09-04 22:45:27 -04:00
..
certmonger Use DN objects instead of strings 2012-08-12 16:23:24 -04:00
conf Use certmonger to renew CA subsystem certificates 2012-07-30 13:39:08 +02:00
html Fixed inconsistent image names. 2011-10-27 14:05:12 +00:00
migration Use DN objects instead of strings 2012-08-12 16:23:24 -04:00
po Update translations 2012-07-31 15:43:54 +02:00
restart_scripts Use DN objects instead of strings 2012-08-12 16:23:24 -04:00
share Add per-service option to store the types of PAC it supports 2012-08-01 16:15:51 +02:00
tools Ticket #2850 - Ipactl exception not handled well 2012-08-27 15:30:28 +02:00
ui Password policy paging with proper sorting 2012-08-29 12:00:15 +02:00
updates Add safe updates for objectClasses 2012-09-04 22:45:27 -04:00
configure.ac Use certmonger to renew CA subsystem certificates 2012-07-30 13:39:08 +02:00
Makefile.am Use certmonger to renew CA subsystem certificates 2012-07-30 13:39:08 +02:00
README.schema Add some basic rules for adding new schema 2010-08-27 13:40:37 -04:00

Ground rules on adding new schema

Brand new schema, particularly when written specifically for IPA, should be
added in share/*.ldif. Any new files need to be explicitly loaded in
ipaserver/install/dsinstance.py. These simply get copied directly into
the new instance schema directory.

Existing schema (e.g. in an LDAP draft) may either be added as a separate
ldif in share or as an update in the updates directory. The advantage of
adding the schema as an update is if 389-ds ever adds the schema then the
installation won't fail due to existing schema failing to load during
bootstrap.

If the new schema requires a new container then this should be added
to install/bootstrap-template.ldif.