summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-01-02 12:02:43 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:35:54 -0500
commit73f1e42481799b55f9521e5acd7de8ec319ed8e6 (patch)
tree592efbf183c53a4ab6ccf8ca8eb1faa80f550d9b
parent9fc3e164df198f92134acb2b16c1a3236f680583 (diff)
downloadsamba-73f1e42481799b55f9521e5acd7de8ec319ed8e6.tar.gz
samba-73f1e42481799b55f9521e5acd7de8ec319ed8e6.tar.bz2
samba-73f1e42481799b55f9521e5acd7de8ec319ed8e6.zip
r20469: w2k3 handles String(Numeric), String(Printable), String(Teletex) and String(IA5)
as byte arrays without any constraints on the used bytes. Only the rangeLower,rangeUpper constraints may reject invalid values I have tested the following values: internationalISDNNumber:1 => String(Numeric) [000] E2 82 AC E2 82 AC E2 82 AC E2 82 AC E2 82 AC 31 ........ .......1 displayNamePrintable:1 => String(Printable) [000] 68 65 6C 6F C3 B6 6C 6B 6A C3 B6 6C 6B 6A C3 B6 helo..lk j..lkj.. [010] 6C 6B 6A C3 B6 6C 6B 6A C3 B6 6C 6B 6A C3 B6 6C lkj..lkj ..lkj..l [020] 6B 6A C3 B6 6C 6B 6A C3 B6 6C 6B 6A C3 B6 6C 6B kj..lkj. .lkj..lk [030] 6A C3 B6 6C 6B 6A C3 B6 6C 6B 6A C3 B6 6B 6A C3 j..lkj.. lkj..kj. [040] B6 6C 6B 6A C3 B6 6A 38 37 70 6F 38 36 6F 37 36 .lkj..j8 7po86o76 [050] 34 65 64 74 7A 68 6F 69 6A 7A 6F 69 7A 6F 69 38 4edtzhoi jzoizoi8 [060] 69 37 36 72 35 75 66 75 35 72 i76r5ufu 5r networkAddress:1 => String(Teletex) [000] 61 02 63 04 66 67 00 68 69 a.c.fg.h i msRADIUSCallbackNumber:1 => String(IA5) [000] 61 02 63 04 66 67 00 68 69 a.c.fg.h i metze (This used to be commit 4aa96d287e9b834f1f6cc95cf2b6a98c0a8eefc0)
-rw-r--r--source4/dsdb/schema/schema_syntax.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c
index 441c034769..aab5aa2f53 100644
--- a/source4/dsdb/schema/schema_syntax.c
+++ b/source4/dsdb/schema/schema_syntax.c
@@ -1047,6 +1047,7 @@ static WERROR dsdb_syntax_DN_BINARY_ldb_to_drsuapi(const struct dsdb_schema *sch
return WERR_OK;
}
+
#define OMOBJECTCLASS(val) { .length = sizeof(val) - 1, .data = discard_const_p(uint8_t, val) }
static const struct dsdb_syntax dsdb_syntaxes[] = {
@@ -1098,32 +1099,29 @@ static const struct dsdb_syntax dsdb_syntaxes[] = {
.ldap_oid = "1.3.6.1.4.1.1466.115.121.1.36",
.oMSyntax = 18,
.attributeSyntax_oid = "2.5.5.6",
- .drsuapi_to_ldb = dsdb_syntax_FOOBAR_drsuapi_to_ldb,
- .ldb_to_drsuapi = dsdb_syntax_FOOBAR_ldb_to_drsuapi,
+ .drsuapi_to_ldb = dsdb_syntax_DATA_BLOB_drsuapi_to_ldb,
+ .ldb_to_drsuapi = dsdb_syntax_DATA_BLOB_ldb_to_drsuapi,
},{
- /* not used in w2k3 forest */
.name = "String(Printable)",
.ldap_oid = "1.3.6.1.4.1.1466.115.121.1.44",
.oMSyntax = 19,
.attributeSyntax_oid = "2.5.5.5",
- .drsuapi_to_ldb = dsdb_syntax_FOOBAR_drsuapi_to_ldb,
- .ldb_to_drsuapi = dsdb_syntax_FOOBAR_ldb_to_drsuapi,
+ .drsuapi_to_ldb = dsdb_syntax_DATA_BLOB_drsuapi_to_ldb,
+ .ldb_to_drsuapi = dsdb_syntax_DATA_BLOB_ldb_to_drsuapi,
},{
- /* not used in w2k3 forest */
.name = "String(Teletex)",
.ldap_oid = "1.2.840.113556.1.4.905",
.oMSyntax = 20,
.attributeSyntax_oid = "2.5.5.4",
- .drsuapi_to_ldb = dsdb_syntax_FOOBAR_drsuapi_to_ldb,
- .ldb_to_drsuapi = dsdb_syntax_FOOBAR_ldb_to_drsuapi,
+ .drsuapi_to_ldb = dsdb_syntax_DATA_BLOB_drsuapi_to_ldb,
+ .ldb_to_drsuapi = dsdb_syntax_DATA_BLOB_ldb_to_drsuapi,
},{
- /* not used in w2k3 forest */
.name = "String(IA5)",
.ldap_oid = "1.3.6.1.4.1.1466.115.121.1.26",
.oMSyntax = 22,
.attributeSyntax_oid = "2.5.5.5",
- .drsuapi_to_ldb = dsdb_syntax_FOOBAR_drsuapi_to_ldb,
- .ldb_to_drsuapi = dsdb_syntax_FOOBAR_ldb_to_drsuapi,
+ .drsuapi_to_ldb = dsdb_syntax_DATA_BLOB_drsuapi_to_ldb,
+ .ldb_to_drsuapi = dsdb_syntax_DATA_BLOB_ldb_to_drsuapi,
},{
.name = "String(UTC-Time)",
.ldap_oid = "1.3.6.1.4.1.1466.115.121.1.53",