Ignore:
Timestamp:
Nov 24, 2016, 1:14:11 PM (9 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: update vendor to version 4.4.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/librpc/idl/drsuapi.idl

    r740 r988  
    5959        } drsuapi_DrsOptions;
    6060
     61        /* see DRS_MSG_REPMOD_V1 */
     62        typedef [public,bitmap32bit] bitmap {
     63                DRSUAPI_DRS_UPDATE_FLAGS              = 0x00000001,
     64                DRSUAPI_DRS_UPDATE_ADDRESS            = 0x00000002,
     65                DRSUAPI_DRS_UPDATE_SCHEDULE           = 0x00000004
     66        } drsuapi_DrsUpdate;
     67
    6168        /*****************/
    6269        /* Function 0x00 */
     
    109116
    110117        /* this is used by w2k */
    111         typedef struct {
     118        typedef [public] struct {
    112119                drsuapi_SupportedExtensions supported_extensions;
    113120                GUID site_guid;
     
    116123
    117124        /* this is used by w2k3 */
    118         typedef struct {
     125        typedef [public] struct {
    119126                drsuapi_SupportedExtensions supported_extensions;
    120127                GUID site_guid;
     
    123130        } drsuapi_DsBindInfo28;
    124131
     132        typedef [public] struct {
     133                drsuapi_SupportedExtensions supported_extensions;
     134                GUID site_guid;
     135                uint32 pid;
     136                uint32 repl_epoch;
     137                drsuapi_SupportedExtensionsExt supported_extensions_ext;
     138        } drsuapi_DsBindInfo32;
     139
    125140        /* this is used by w2k8 */
    126         typedef struct {
     141        typedef [public] struct {
    127142                drsuapi_SupportedExtensions supported_extensions;
    128143                GUID site_guid;
     
    133148        } drsuapi_DsBindInfo48;
    134149
    135         typedef struct {
     150        /* this is used by w2k12 R2 [MS-DRSR] Section 5.39 */
     151        typedef [public] struct {
     152                drsuapi_SupportedExtensions supported_extensions;
     153                GUID site_guid;
     154                uint32 pid;
     155                uint32 repl_epoch;
     156                drsuapi_SupportedExtensionsExt supported_extensions_ext;
     157                GUID config_dn_guid;
     158                drsuapi_SupportedExtensionsExt supported_capabilities_ext;
     159        } drsuapi_DsBindInfo52;
     160
     161        typedef [public] struct {
    136162                [flag(NDR_REMAINING)] DATA_BLOB info;
    137163        } drsuapi_DsBindInfoFallBack;
     164
     165        typedef [nopull, nopush, noprint] [nodiscriminant] union {
     166                [case(24)][subcontext(0), subcontext_size(24)] drsuapi_DsBindInfo24 info24;
     167                [case(28)][subcontext(0), subcontext_size(28)] drsuapi_DsBindInfo28 info28;
     168                [case(32)][subcontext(0), subcontext_size(32)] drsuapi_DsBindInfo32 info32;
     169                [case(48)][subcontext(0), subcontext_size(48)] drsuapi_DsBindInfo48 info48;
     170                [case(52)][subcontext(0), subcontext_size(52)] drsuapi_DsBindInfo52 info52;
     171                /*
     172                 * The size for the defaut case is a bit arbitrary it in fact the value
     173                 * of the switch but we can't reference it.
     174                 * As we hand(un-)marshall this structure it has 0 impact and makes
     175                 * pidl happy for wireshark too
     176                 */
     177                [default][subcontext(0), subcontext_size(48)] drsuapi_DsBindInfoFallBack Fallback;
     178        } drsuapi_DsBindInfo;
     179
     180        /* the drsuapi_DsBindInfoCtr was this before
     181         * typedef [flag(NDR_PAHEX)] struct {
     182         *      [range(1,10000)] uint32 length;
     183         *      [size_is(length)] uint8 data[];
     184         * } drsuapi_DsBindInfo;
     185         *
     186         * but we don't want the caller to manually decode this blob,
     187         * so we're doing it here
     188         */
     189
     190        /*
     191         * MS-DRSR.pdf gives the following definition
     192        typedef struct {
     193                [range(1,10000)] DWORD cb;
     194                [size_is(cb)] BYTE rgb[];
     195        } DRS_EXTENSIONS;
     196
     197        But we use a subcontext which has a slighly different signification on how
     198        data are laid out.
     199        With the MS-DRSR definition we will have
     200                size_is_cb cv rgb_array
     201        with size_is_cb being a uint3264 and cv being a uint32
     202
     203        We used to have
     204        typedef struct {
     205                [range(1,10000)] uint32 length;
     206                [switch_is(length)] drsuapi_DsBindInfo info;
     207        } drsuapi_DsBindInfoCtr;
    138208
    139209        typedef [nodiscriminant] union {
     
    144214        } drsuapi_DsBindInfo;
    145215
    146         /* the drsuapi_DsBindInfoCtr was this before
    147          * typedef [flag(NDR_PAHEX)] struct {
    148          *      [range(1,10000)] uint32 length;
    149          *      [size_is(length)] uint8 data[];
    150          * } drsuapi_DsBindInfo;
    151          *
    152          * but we don't want the caller to manually decode this blob,
    153          * so we're doing it here
    154          */
    155 
    156         typedef struct {
    157                 [range(1,10000)] uint32 length;
     216        With this definition data is laid out this way:
     217        length subcontext_size drsuapi_DsBindInfoxx
     218        with length being a uint32 and subcontext_size being a uint3264
     219
     220        It has clearly an impact on the way things are aligned when using NDR64
     221        */
     222        typedef [flag(NDR_NOALIGN)] struct {
     223                [range(1,10000)] uint3264 length;
     224                [value(length)] uint32 __ndr_length;
    158225                [switch_is(length)] drsuapi_DsBindInfo info;
    159226        } drsuapi_DsBindInfoCtr;
     
    198265                [ref] drsuapi_DsReplicaObjectIdentifier *naming_context;
    199266                GUID source_dsa_guid;
    200                 astring *source_dsa_dns; /* Source DSA dns_name in <guid>._msdcs.<domain_dns> form */
     267                [charset(DOS),string] char *source_dsa_dns; /* Source DSA dns_name in <guid>._msdcs.<domain_dns> form */
    201268                drsuapi_DrsOptions options;
    202269        } drsuapi_DsReplicaSyncRequest1;
     
    393460                DRSUAPI_ATTID_displayName                       = 0x0002000d,
    394461                DRSUAPI_ATTID_hasMasterNCs                      = 0x0002000e,
     462                DRSUAPI_ATTID_nCName                            = 0x00020010,
    395463                DRSUAPI_ATTID_subClassOf                        = 0x00020015,
    396464                DRSUAPI_ATTID_governsID                         = 0x00020016,
     
    539607        /* Generic DATA_BLOB values */
    540608        typedef struct {
    541                 [range(0,10485760),value(ndr_size_DATA_BLOB(0,blob,0))] uint32 __ndr_size;
     609                [range(0,26214400),value(ndr_size_DATA_BLOB(0,blob,0))] uint32 __ndr_size;
    542610                DATA_BLOB *blob;
    543611        } drsuapi_DsAttributeValue;
     
    799867        typedef struct {
    800868                [ref] drsuapi_DsReplicaObjectIdentifier *naming_context;
    801                 [charset(UTF16),string] uint16 *source_dsa_address;
     869                [charset(UTF8), string] uint8 *source_dsa_address;
    802870                drsuapi_DrsOptions options;
    803871        } drsuapi_DsReplicaDelRequest1;
     
    11001168        /*****************/
    11011169        /* Function 0x10 */
     1170        typedef [v1_enum] enum {
     1171                DRSUAPI_DC_INFO_CTR_1  = 1,
     1172                DRSUAPI_DC_INFO_CTR_2  = 2,
     1173                DRSUAPI_DC_INFO_CTR_3  = 3,
     1174                DRSUAPI_DC_CONNECTION_CTR_01 = 0xFFFFFFFF
     1175        } drsuapi_DsGetDCInfoCtrLevels;
     1176
    11021177        typedef struct {
    11031178                [charset(UTF16),string] uint16 *domain_name; /* netbios or dns */
    1104                 int32 level; /* specifies the switch level for the request */
     1179                drsuapi_DsGetDCInfoCtrLevels level; /* specifies the switch level for the request */
    11051180        } drsuapi_DsGetDCInfoRequest1;
    11061181
    1107         typedef [switch_type(int32)] union {
     1182        typedef [switch_type(uint32)] union {
    11081183                [case(1)] drsuapi_DsGetDCInfoRequest1 req1;
    11091184        } drsuapi_DsGetDCInfoRequest;
     
    11971272        } drsuapi_DsGetDCConnectionCtr01;
    11981273
    1199         typedef [v1_enum] enum {
    1200                 DRSUAPI_DC_INFO_CTR_1  = 1,
    1201                 DRSUAPI_DC_INFO_CTR_2  = 2,
    1202                 DRSUAPI_DC_INFO_CTR_3  = 3,
    1203                 DRSUAPI_DC_CONNECTION_CTR_01 = -1
    1204         } drsuapi_DsGetDCInfoCtrLevels;
    1205 
    1206         typedef [switch_type(int32)] union {
     1274        typedef [switch_type(drsuapi_DsGetDCInfoCtrLevels)] union {
    12071275                [case(DRSUAPI_DC_INFO_CTR_1)]  drsuapi_DsGetDCInfoCtr1  ctr1;
    12081276                [case(DRSUAPI_DC_INFO_CTR_2)]  drsuapi_DsGetDCInfoCtr2  ctr2;
     
    12131281        WERROR drsuapi_DsGetDomainControllerInfo(
    12141282                [in] policy_handle *bind_handle,
    1215                 [in] int32 level,
     1283                [in] uint32 level,
    12161284                [in,ref,switch_is(level)] drsuapi_DsGetDCInfoRequest *req,
    1217                 [out,ref] int32 *level_out,
     1285                [out,ref] drsuapi_DsGetDCInfoCtrLevels *level_out,
    12181286                [out,ref,switch_is(*level_out)] drsuapi_DsGetDCInfoCtr *ctr
    12191287                );
Note: See TracChangeset for help on using the changeset viewer.