I've been working with tridge on pulling in the schema, and we realised
there is a very nice (but very large) Samba4 task that someone might
like to take a look at for Google Summer of Code.
The Samba4 LDB layer uses the Microsoft AD schema to determine what data
types apply to each attribute.
The schema contains references to oMsyntax, oMobjectClass and
attributeSyntax, that we then correlate with our internal data type
The table for this is in dsdb/schema/schema_syntax.c (and then this
referrs to parts of ldb and elsewhere for some syntaxes).
The problem is, many of these data types are not handled correctly in
replication (anything with a DATA_BLOB conversion to and from DRS is
suspect), and even if they are, we do not apply strict tests for
conformance of the data to to the data type when adding it to the
The task for the student or otherwise interested onlooker would be to
investigate the comparison and conversion rules for each type of
attribute, and to write tests to prove they are correct. This sould
include for the DRSUAPI replication of the data. Tests that do a DRS
replication against windows, and then prove we still present the correct
values in LDAP are also required.
See the wspp-schema in tridge's GIT area for our current work in
progress (making changes to how the schema is loaded and applied to
LDB), which will be a clearer basis for this work. It also indicates
how to add new comparison rules.
Smaller parts of this (and it would need to be done in parts anyway)
could be done by anyone interested in the correctness of Samba4's LDAP
See also bugs in bugzilla regarding incorrect handling of 32 bit
integers in our LDAP server.
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
Samba Developer, Red Hat Inc. http://redhat.com