From 4c3aa3056ca53a3ee70978bcee011f50f66c44d5 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Wed, 23 Jul 2008 23:02:09 +0200 Subject: [PATCH] re-run "make idl" after fixing idl for supplementalCredentialsSubBlob. Michael (This used to be commit e33af40ad41816531c3189ef146f192a902d3229) --- source3/librpc/gen_ndr/drsblobs.h | 14 +++++++- source3/librpc/gen_ndr/ndr_drsblobs.c | 46 +++++++++++++++++++++++++-- source3/librpc/gen_ndr/ndr_drsblobs.h | 1 + 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/source3/librpc/gen_ndr/drsblobs.h b/source3/librpc/gen_ndr/drsblobs.h index 7ce4d11eded..c2f828a1e1d 100644 --- a/source3/librpc/gen_ndr/drsblobs.h +++ b/source3/librpc/gen_ndr/drsblobs.h @@ -7,7 +7,7 @@ #ifndef _HEADER_drsblobs #define _HEADER_drsblobs -#define SUPPLEMENTAL_CREDENTIALS_PREFIX ( " P" ) +#define SUPPLEMENTAL_CREDENTIALS_PREFIX ( " " ) enum drsuapi_DsAttributeId; struct replPropertyMetaData1 { @@ -154,8 +154,20 @@ struct supplementalCredentialsPackage { const char *data;/* [charset(DOS)] */ }; +enum supplementalCredentialsSignature +#ifndef USE_UINT_ENUMS + { + SUPPLEMENTAL_CREDENTIALS_SIGNATURE=0x0050 +} +#else + { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF} +#define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 ) +#endif +; + struct supplementalCredentialsSubBlob { const char *prefix;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */ + enum supplementalCredentialsSignature signature;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */ uint16_t num_packages; struct supplementalCredentialsPackage *packages; }/* [gensize] */; diff --git a/source3/librpc/gen_ndr/ndr_drsblobs.c b/source3/librpc/gen_ndr/ndr_drsblobs.c index d39aa573337..dec1c1508b3 100644 --- a/source3/librpc/gen_ndr/ndr_drsblobs.c +++ b/source3/librpc/gen_ndr/ndr_drsblobs.c @@ -1236,12 +1236,52 @@ _PUBLIC_ void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, co ndr->depth--; } +static enum ndr_err_code ndr_push_supplementalCredentialsSignature(struct ndr_push *ndr, int ndr_flags, enum supplementalCredentialsSignature r) +{ + { + uint32_t _flags_save_ENUM = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r)); + ndr->flags = _flags_save_ENUM; + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_supplementalCredentialsSignature(struct ndr_pull *ndr, int ndr_flags, enum supplementalCredentialsSignature *r) +{ + uint16_t v; + { + uint32_t _flags_save_ENUM = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v)); + *r = v; + ndr->flags = _flags_save_ENUM; + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r) +{ + const char *val = NULL; + + { + uint32_t _flags_save_ENUM = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); + switch (r) { + case SUPPLEMENTAL_CREDENTIALS_SIGNATURE: val = "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break; + } + ndr_print_enum(ndr, name, "ENUM", val, r); + ndr->flags = _flags_save_ENUM; + } +} + static enum ndr_err_code ndr_push_supplementalCredentialsSubBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsSubBlob *r) { uint32_t cntr_packages_0; if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x31, sizeof(uint16_t), CH_UTF16)); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x30, sizeof(uint16_t), CH_UTF16)); + NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_SIGNATURE)); NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_packages)); for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) { NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0])); @@ -1258,7 +1298,8 @@ static enum ndr_err_code ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull TALLOC_CTX *_mem_save_packages_0; if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, 0x31, sizeof(uint16_t), CH_UTF16)); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, 0x30, sizeof(uint16_t), CH_UTF16)); + NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr, NDR_SCALARS, &r->signature)); NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_packages)); NDR_PULL_ALLOC_N(ndr, r->packages, r->num_packages); _mem_save_packages_0 = NDR_PULL_GET_MEM_CTX(ndr); @@ -1279,6 +1320,7 @@ _PUBLIC_ void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, co ndr_print_struct(ndr, name, "supplementalCredentialsSubBlob"); ndr->depth++; ndr_print_string(ndr, "prefix", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_PREFIX:r->prefix); + ndr_print_supplementalCredentialsSignature(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE:r->signature); ndr_print_uint16(ndr, "num_packages", r->num_packages); ndr->print(ndr, "%s: ARRAY(%d)", "packages", (int)r->num_packages); ndr->depth++; diff --git a/source3/librpc/gen_ndr/ndr_drsblobs.h b/source3/librpc/gen_ndr/ndr_drsblobs.h index e30dbd8ba5b..e901e244648 100644 --- a/source3/librpc/gen_ndr/ndr_drsblobs.h +++ b/source3/librpc/gen_ndr/ndr_drsblobs.h @@ -78,6 +78,7 @@ enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int nd enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r); void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r); void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r); +void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r); void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r); enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r); enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r);