[PATCH] Schema replication
kamenim at samba.org
Tue Nov 30 07:06:32 MST 2010
Would you mind me pushing following branch in master:
It is an attempt to fix Schema replication issues we are having currently.
Major points are:
1) a test for runtime Schema replication - currently it tests:
-- classSchema replication
-- attributeSchema replication
-- Class+Attribute with mayContain relation replication
One nice thing about this test is that it arranges schema objects
in such a way, that
it is not very convenient for DRS decoding function to decode
objects in just one pass
(thus it tests also multi-pass objects decoding)
2) functions to create a working Schema cache.
This is not a complete Schema, but just enough information so we are able
to decode DRS data send to us on wire.
Creating working_schema is heavily based on libnet_vampire_cb_apply_schema()
3) runtime replication is modified a little to use working_schema for DRS data
4) dsdb_syntax layer converts remote ATTIDs to local ATTIDs for Attribute OIDs.
The end result is that now we are passing repl_schema.py test.
What I should do further is:
1) additionally extend repl_schema test so we can test all relations:
auxilaryClass, subClassOf, mayContain, mustContain, possSuperiors
Also a more deep hierarchy of objects through subClassOf
(this should be handled by multi-pass objects decoding, but there
are still cases
we don't handle)
2) Map remote-ATTID to local-ATTID in more places in dsdb_syntax layer.
The main reason I haven't use this conversion everywhere is that I want
to first exploit the spot where mapping is needed (i.e. extend
test propery) and then fix the spot.
This way to use repl_schema to test dsdb_syntax layer and vice versa - use
dsdb_syntax flaws to make repl_schema properly :)
3) Start using working_schema in libnet_vampire_cb_apply_schema() too
Samba Team http://samba.org
More information about the samba-technical