From 73f1e42481799b55f9521e5acd7de8ec319ed8e6 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 2 Jan 2007 12:02:43 +0000 Subject: 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) --- source4/dsdb/schema/schema_syntax.c | 20 +++++++++----------- 1 file 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", -- cgit