drsblobs: remove utf8string2 from ForestTrustData.
authorGünther Deschner <gd@samba.org>
Thu, 25 Mar 2010 09:56:15 +0000 (10:56 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 25 Mar 2010 10:04:52 +0000 (11:04 +0100)
Simo, it's not really worth to add a new idl type just for being able to omit
the size field. The size field is part of the spec in MS-ADTS 7.1.6.9.3.1 so we
should have it as well.

Guenther

librpc/idl/drsblobs.idl
librpc/idl/idl_types.h

index 93c44f354fd0a85365d3e446c518cb1994304048..5b10326814753aed831facd5474d5ce6e01daf8f 100644 (file)
@@ -574,11 +574,16 @@ interface drsblobs {
 
        /* MS-ADTS 7.1.6.9.3 msDS-TrustForestTrustInfo Attribute */
 
+       typedef struct {
+               [value(strlen_m(string))] uint32 size;
+               [charset(UTF8)] uint8 string[size];
+       } ForestTrustString;
+
        typedef [flag(NDR_NOALIGN)] struct {
                [value(ndr_size_dom_sid0(&sid, ndr->flags))] uint32 sid_size;
                [subcontext(0),subcontext_size(sid_size)] dom_sid sid;
-               utf8string2 dns_name;
-               utf8string2 netbios_name;
+               ForestTrustString dns_name;
+               ForestTrustString netbios_name;
        } ForestTrustDataDomainInfo;
 
        typedef [flag(NDR_NOALIGN)] struct {
@@ -587,8 +592,8 @@ interface drsblobs {
        } ForestTrustDataBinaryData;
 
        typedef [nodiscriminant] union {
-               [case(FOREST_TRUST_TOP_LEVEL_NAME)] utf8string2 name;
-               [case(FOREST_TRUST_TOP_LEVEL_NAME_EX)] utf8string2 name;
+               [case(FOREST_TRUST_TOP_LEVEL_NAME)] ForestTrustString name;
+               [case(FOREST_TRUST_TOP_LEVEL_NAME_EX)] ForestTrustString name;
                [case(FOREST_TRUST_DOMAIN_INFO)] ForestTrustDataDomainInfo info;
                [default] ForestTrustDataBinaryData data;
        } ForestTrustData;
index 72165cf22e62eeedef48981dc7cd802dc427a403..3c6c12cd846a6c0563b01f9dd418f68402eec0a4 100644 (file)
 */
 #define utf8string     [flag(STR_UTF8|STR_NULLTERM)] string
 
-/*
-  an utf8 string prefixed with [size], 32 bits
-  not null terminated
-*/
-#define utf8string2    [flag(STR_SIZE4|STR_UTF8|STR_NOTERM)] string
-
 /*
   a null terminated UCS2 string
 */