summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamen.mazdrashki@postpath.com>2009-11-22 14:41:25 +0200
committerStefan Metzmacher <metze@samba.org>2009-11-23 14:15:05 +0100
commit1bf31f343c1e01b970a9f887bf7a8bac6334e54a (patch)
treef8a4afaa83132512342612717181bf671209666d
parentbef4e25b1f1c82b49029e7d0d46b386395a4c10e (diff)
downloadsamba-1bf31f343c1e01b970a9f887bf7a8bac6334e54a.tar.gz
samba-1bf31f343c1e01b970a9f887bf7a8bac6334e54a.tar.bz2
samba-1bf31f343c1e01b970a9f887bf7a8bac6334e54a.zip
s4/schema: Object(OR-Name) syntax handling for DRS calls
OR-Name syntax through DRS calls looks like DN-Binary syntax
-rw-r--r--source4/dsdb/common/dsdb_dn.c2
-rw-r--r--source4/dsdb/common/dsdb_dn.h5
-rw-r--r--source4/dsdb/schema/schema_syntax.c10
3 files changed, 11 insertions, 6 deletions
diff --git a/source4/dsdb/common/dsdb_dn.c b/source4/dsdb/common/dsdb_dn.c
index dbc63a93be..660eaf7d40 100644
--- a/source4/dsdb/common/dsdb_dn.c
+++ b/source4/dsdb/common/dsdb_dn.c
@@ -31,6 +31,8 @@ enum dsdb_dn_format dsdb_dn_oid_to_format(const char *oid)
return DSDB_BINARY_DN;
} else if (strcmp(oid, DSDB_SYNTAX_STRING_DN) == 0) {
return DSDB_STRING_DN;
+ } else if (strcmp(oid, DSDB_SYNTAX_OR_NAME) == 0) {
+ return DSDB_NORMAL_DN;
} else {
return DSDB_INVALID_DN;
}
diff --git a/source4/dsdb/common/dsdb_dn.h b/source4/dsdb/common/dsdb_dn.h
index 55b5c0bd40..53e10535c8 100644
--- a/source4/dsdb/common/dsdb_dn.h
+++ b/source4/dsdb/common/dsdb_dn.h
@@ -12,5 +12,6 @@ struct dsdb_dn {
const char *oid;
};
-#define DSDB_SYNTAX_BINARY_DN "1.2.840.113556.1.4.903"
-#define DSDB_SYNTAX_STRING_DN "1.2.840.113556.1.4.904"
+#define DSDB_SYNTAX_BINARY_DN "1.2.840.113556.1.4.903"
+#define DSDB_SYNTAX_STRING_DN "1.2.840.113556.1.4.904"
+#define DSDB_SYNTAX_OR_NAME "1.2.840.113556.1.4.1221"
diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c
index edf5df8aa9..9bd744a6af 100644
--- a/source4/dsdb/schema/schema_syntax.c
+++ b/source4/dsdb/schema/schema_syntax.c
@@ -1690,14 +1690,16 @@ static const struct dsdb_syntax dsdb_syntaxes[] = {
.equality = "octetStringMatch",
.comment = "OctetString: Binary+DN",
},{
- /* not used in w2k3 schema */
+ /* not used in w2k3 schema, but used in Exchange schema*/
.name = "Object(OR-Name)",
- .ldap_oid = "1.2.840.113556.1.4.1221",
+ .ldap_oid = DSDB_SYNTAX_OR_NAME,
.oMSyntax = 127,
.oMObjectClass = OMOBJECTCLASS("\x56\x06\x01\x02\x05\x0b\x1D"),
.attributeSyntax_oid = "2.5.5.7",
- .drsuapi_to_ldb = dsdb_syntax_FOOBAR_drsuapi_to_ldb,
- .ldb_to_drsuapi = dsdb_syntax_FOOBAR_ldb_to_drsuapi,
+ .drsuapi_to_ldb = dsdb_syntax_DN_BINARY_drsuapi_to_ldb,
+ .ldb_to_drsuapi = dsdb_syntax_DN_BINARY_ldb_to_drsuapi,
+ .equality = "caseIgnoreMatch",
+ .ldb_syntax = LDB_SYNTAX_DN,
},{
/*
* TODO: verify if DATA_BLOB is correct here...!